@lovrabet/rabetbase-cli 2.5.0-beta.2 → 2.5.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/api-doc.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/api/generate-sdk-config-file.js +1 -1
- package/lib/auth/auth-server-ui.js +1 -1
- package/lib/auth/auth-server.js +1 -1
- package/lib/auth/constant.js +1 -1
- package/lib/auth/get-cookie.js +1 -1
- package/lib/auth/get-session-user.js +1 -1
- package/lib/auth/is-session-valid.js +1 -1
- package/lib/auth/login-success-html.js +1 -1
- package/lib/auth/logout.js +1 -1
- package/lib/cli-flags.js +1 -1
- package/lib/cli.js +1 -1
- package/lib/commands/api/generate.js +1 -1
- package/lib/commands/api/index.js +1 -1
- package/lib/commands/api/list.js +1 -1
- package/lib/commands/api/pull.js +1 -1
- package/lib/commands/api/shared.js +1 -1
- package/lib/commands/app/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/members-list.js +1 -1
- package/lib/commands/app/remote-directory.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/delete.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/app-config/list.js +1 -1
- package/lib/commands/app-config/set.js +1 -1
- package/lib/commands/app-config/shared.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/bff/create.js +1 -1
- package/lib/commands/bff/delete.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/bff/list.js +1 -1
- package/lib/commands/bff/pull.js +1 -1
- package/lib/commands/bff/push.js +1 -1
- package/lib/commands/bff/status.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/cli-update.js +1 -1
- package/lib/commands/codegen/index.js +1 -1
- package/lib/commands/codegen/sdk.js +1 -1
- package/lib/commands/codegen/sql.js +1 -1
- package/lib/commands/common/app-registry.js +1 -1
- package/lib/commands/common/app-selector.js +1 -1
- package/lib/commands/common/async-task.js +1 -1
- package/lib/commands/common/dry-run.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/common/validate.js +1 -1
- package/lib/commands/config/delete.js +1 -1
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/init.js +1 -1
- package/lib/commands/config/list.js +1 -1
- package/lib/commands/config/set.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/dataset/business-group-update.js +1 -1
- package/lib/commands/dataset/business-groups.js +1 -1
- package/lib/commands/dataset/capability.js +1 -1
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/extend-update.js +1 -1
- package/lib/commands/dataset/field-update.js +1 -1
- package/lib/commands/dataset/generate.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/dataset/relation-audit.js +1 -1
- package/lib/commands/dataset/relation-create.js +1 -1
- package/lib/commands/dataset/relation-delete.js +1 -1
- package/lib/commands/dataset/relation-shared.js +1 -1
- package/lib/commands/dataset/relation-update.js +1 -1
- package/lib/commands/dataset/relations.js +1 -1
- package/lib/commands/dataset/rename.js +1 -1
- package/lib/commands/dataset/restore.js +1 -1
- package/lib/commands/db/analysis-batching.js +1 -1
- package/lib/commands/db/analyze-batch-plan.js +1 -1
- package/lib/commands/db/analyze-cancel.js +1 -1
- package/lib/commands/db/analyze-start.js +1 -1
- package/lib/commands/db/analyze-status.js +1 -1
- package/lib/commands/db/create.js +1 -1
- package/lib/commands/db/delete.js +1 -1
- package/lib/commands/db/detail.js +1 -1
- package/lib/commands/db/diff-refresh-start.js +1 -1
- package/lib/commands/db/diff-refresh-status.js +1 -1
- package/lib/commands/db/diff.js +1 -1
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.js +1 -1
- package/lib/commands/db/table-diff-shared.d.ts +13 -0
- package/lib/commands/db/table-diff-shared.js +1 -0
- package/lib/commands/db/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/issue/index.js +1 -1
- package/lib/commands/issue/nudge.js +1 -1
- package/lib/commands/issue/report.js +1 -1
- package/lib/commands/issue/shared.js +1 -1
- package/lib/commands/kb/create.js +1 -1
- package/lib/commands/kb/delete.js +1 -1
- package/lib/commands/kb/detail.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/kb/list.js +1 -1
- package/lib/commands/kb/search.js +1 -1
- package/lib/commands/kb/shared.js +1 -1
- package/lib/commands/kb/update.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/menu/asset-update.js +1 -1
- package/lib/commands/menu/delete.js +1 -1
- package/lib/commands/menu/external-link-create.js +1 -1
- package/lib/commands/menu/external-link-update.js +1 -1
- package/lib/commands/menu/group-create.js +1 -1
- package/lib/commands/menu/group-update.js +1 -1
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/list.js +1 -1
- package/lib/commands/menu/move.js +1 -1
- package/lib/commands/menu/regroup-start.js +1 -1
- package/lib/commands/menu/rename.js +1 -1
- package/lib/commands/menu/shared/compare-table.js +1 -1
- package/lib/commands/menu/shared/delete-plan.js +1 -1
- package/lib/commands/menu/shared/facts.js +1 -1
- package/lib/commands/menu/shared/index.js +1 -1
- package/lib/commands/menu/shared/inquirer.js +1 -1
- package/lib/commands/menu/shared/local-pages.js +1 -1
- package/lib/commands/menu/shared/logic.js +1 -1
- package/lib/commands/menu/shared/mutations.js +1 -1
- package/lib/commands/menu/shared/service.js +1 -1
- package/lib/commands/menu/shared/sync-core.js +1 -1
- package/lib/commands/menu/shared/update-core.js +1 -1
- package/lib/commands/menu/shared/valid-url.js +1 -1
- package/lib/commands/menu/sync.js +1 -1
- package/lib/commands/menu/visibility-update.js +1 -1
- package/lib/commands/notification/config-create.js +1 -1
- package/lib/commands/notification/config-delete.js +1 -1
- package/lib/commands/notification/config-list.js +1 -1
- package/lib/commands/notification/config-update.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/notification/shared.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/page/create.js +1 -1
- package/lib/commands/page/custom/detail.js +1 -1
- package/lib/commands/page/custom/list.js +1 -1
- package/lib/commands/page/custom/publish.js +1 -1
- package/lib/commands/page/custom/shared.js +1 -1
- package/lib/commands/page/custom/syntax.js +1 -1
- package/lib/commands/page/custom/template.js +1 -1
- package/lib/commands/page/custom/update.js +1 -1
- package/lib/commands/page/data-list-status.js +1 -1
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/relation-audit.js +1 -1
- package/lib/commands/page/restore.js +1 -1
- package/lib/commands/page/shared.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/project/create/enhanced-guided-create.js +1 -1
- package/lib/commands/project/create/format-elapsed.js +1 -1
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/materialize-project-template.js +1 -1
- package/lib/commands/project/create/project-name.js +1 -1
- package/lib/commands/project/create/project-template-archive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/role/user-resolve.js +1 -1
- package/lib/commands/run/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/sql/create.js +1 -1
- package/lib/commands/sql/delete.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/sql/list.js +1 -1
- package/lib/commands/sql/pull.js +1 -1
- package/lib/commands/sql/push.js +1 -1
- package/lib/commands/sql/shared.js +1 -1
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/commands/task/index.js +1 -1
- package/lib/commands/task/status.js +1 -1
- package/lib/commands/tenant/index.js +1 -1
- package/lib/commands/tenant/members-list.js +1 -1
- package/lib/commands/tenant/shared.js +1 -1
- package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
- package/lib/commands/user-account/index.js +1 -1
- package/lib/commands/workspace/add.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/commands/workspace/remove.js +1 -1
- package/lib/config/domain-config.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.js +1 -1
- package/lib/constant/region.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/context/app-resolver.js +1 -1
- package/lib/context/auth-resolver.js +1 -1
- package/lib/context/config-loader.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.d.ts +1 -7
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/page/file-system.js +1 -1
- package/lib/core/page/hash.js +1 -1
- package/lib/core/page/lock.js +1 -1
- package/lib/core/sql-index-auditor.js +1 -1
- package/lib/core/sql-sync/config.js +1 -1
- package/lib/core/sql-sync/file-system.js +1 -1
- package/lib/core/sql-sync/hash.js +1 -1
- package/lib/core/sql-sync/lock.js +1 -1
- package/lib/core/sql-sync/utils.js +1 -1
- package/lib/core/sql-validator.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/error-output.js +1 -1
- package/lib/framework/explicit-yes.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-alias.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/postinstall.js +1 -1
- package/lib/runtime/confirmation.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/skills/builtin-skill.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/skill-presence.js +1 -1
- package/lib/telemetry/cli-command-trace.js +1 -1
- package/lib/telemetry/cli-help-trace.js +1 -1
- package/lib/telemetry/ensure-cli-otel-config.js +1 -1
- package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
- package/lib/telemetry/send-cli-trace-log.js +1 -1
- package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
- package/lib/utils/ai_config.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cdn-config.js +1 -1
- package/lib/utils/check-sdk-version.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/config.js +1 -1
- package/lib/utils/entity-with-id.js +1 -1
- package/lib/utils/file-utils.js +1 -1
- package/lib/utils/guides-cdn.js +1 -1
- package/lib/utils/http-client.js +1 -1
- package/lib/utils/is-non-interactive.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
- package/skills/rabetbase/SKILL.md +6 -6
- package/skills/rabetbase/guides/custom-page-workflow.md +1 -1
- package/skills/rabetbase/guides/database-connection-workflow.md +9 -9
- package/skills/rabetbase/references/rabetbase-config.md +2 -3
- package/skills/rabetbase/references/rabetbase-db-analyze.md +2 -2
- package/skills/rabetbase/references/rabetbase-db-diff-refresh.md +4 -3
- package/skills/rabetbase/references/rabetbase-db-diff.md +7 -22
- package/skills/rabetbase/references/rabetbase-db-tables.md +14 -2
- package/skills/rabetbase/references/rabetbase-page-custom-list.md +5 -2
- package/skills/rabetbase.manifest.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
const a111_0x3e4ded=a111_0x5101;(function(_0x368860,_0x2628f1){const _0x236180=a111_0x5101,_0x56aea9=_0x368860();while(!![]){try{const _0x26dfba=parseInt(_0x236180(0xf7))/0x1*(parseInt(_0x236180(0xe4))/0x2)+-parseInt(_0x236180(0xea))/0x3+parseInt(_0x236180(0x107))/0x4+parseInt(_0x236180(0xcd))/0x5*(-parseInt(_0x236180(0x12a))/0x6)+-parseInt(_0x236180(0xe2))/0x7+-parseInt(_0x236180(0x128))/0x8*(-parseInt(_0x236180(0x12f))/0x9)+parseInt(_0x236180(0xd6))/0xa;if(_0x26dfba===_0x2628f1)break;else _0x56aea9['push'](_0x56aea9['shift']());}catch(_0x28aba9){_0x56aea9['push'](_0x56aea9['shift']());}}}(a111_0x5484,0x4b13f));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';function a111_0x5484(){const _0x4461a9=['prototype','after','menu_create_recovery_required','\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.','cause','<platform-generated>','code','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','replace','lookupCommand','iframe','2016732taLmJS','entries','Recovered\x20created\x20external\x20menu\x20','Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','Menu\x20label','succeeded','rawerror','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','boolean','includes','menu_mutation_failed','menu_sort_invalid','readbackerror','link','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','menu_not_found','str','\x20after\x20response\x20loss.','fromEntries','causemessage','has','parent-id','failed','menu_url_invalid','string','Menu\x20','parent','length','hasOwnProperty','write','sort','create','menu_create_response_invalid','16jvhuGG','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','23712CsgnTc','menus','open-mode','cookie','expectedSnapshotHash','462978TYUipF','menu\x20list','create\x20external\x20menu','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','stringify','parentId','\x20could\x20not\x20be\x20verified.','\x20has\x20an\x20unexpected\x20','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','Create\x20an\x20external\x20website\x20link\x20menu','URL','visible','bool','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','object','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.','\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.','trim','appCode','POST','External\x20HTTPS\x20URL','recovered','label','isSafeInteger','menu_url_credentials_forbidden','verification','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','password','map','How\x20to\x20open\x20the\x20external\x20website','plan','toLowerCase','visibility','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','menu_open_mode_invalid','new-window','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','\x20with\x20','menu_permission_denied','fact','isArray','335EQaZWl','\x20--format\x20compress','create-recovery','menu_parent_not_folder','hash','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','type','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','createdId','666840FTkExs','data','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','menu_state_drift','create-menu','Run\x20','plannedActions','username','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','protocol','Created\x20menu\x20','create-response-validation','690151BYhCrd','menu','80042bbEVUD','menu_verification_failed','add','\x27\x5c\x27\x27','body','afterPlan','1209195YoDrmt','rawFlags','currentSnapshotHash','\x20has\x20an\x20unexpected\x20generated\x20path.','flagMissing','embedded','path','snapshot','filter','byId','/smartapi/menu/create','Whether\x20the\x20menu\x20is\x20visible','url','10XpbZSS','get','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','expectedPath','https:'];a111_0x5484=function(){return _0x4461a9;};return a111_0x5484();}import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const EXTERNAL_MENU_TYPES_BY_OPEN_MODE={'embedded':a111_0x3e4ded(0x106),'new-window':a111_0x3e4ded(0x114)};export function validateExternalMenuUrl(_0x1566c8){const _0x27665e=a111_0x3e4ded,_0x3884dc=_0x1566c8[_0x27665e(0xb4)]();let _0xb86db3;try{_0xb86db3=new URL(_0x3884dc);}catch{throw menuError(_0x27665e(0x11e),'External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.',_0x27665e(0xf9));}if(_0xb86db3[_0x27665e(0xdf)]!==_0x27665e(0xfb))throw menuError('menu_url_https_required','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','Provide\x20an\x20HTTPS\x20URL.');if(_0xb86db3[_0x27665e(0xdd)]||_0xb86db3[_0x27665e(0xbf)])throw menuError(_0x27665e(0xbb),_0x27665e(0xd2),'Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.');return _0x3884dc;}export const menuExternalLinkCreate={'service':a111_0x3e4ded(0xe3),'command':'external-link-create','description':a111_0x3e4ded(0xac),'risk':a111_0x3e4ded(0x124),'structuredErrors':!![],'flags':[{'name':a111_0x3e4ded(0xb9),'type':a111_0x3e4ded(0x11f),'required':!![],'description':a111_0x3e4ded(0x10b)},{'name':a111_0x3e4ded(0x12c),'type':a111_0x3e4ded(0x11f),'required':!![],'enum':[a111_0x3e4ded(0xef),a111_0x3e4ded(0xc7)],'description':a111_0x3e4ded(0xc1)},{'name':a111_0x3e4ded(0xf6),'type':a111_0x3e4ded(0x11f),'required':!![],'description':a111_0x3e4ded(0xb7)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a111_0x3e4ded(0xae),'type':a111_0x3e4ded(0x10f),'default':!![],'description':a111_0x3e4ded(0xf5)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x352527){validateAddInput(_0x352527);},async 'dryRun'(_0x57817d){const _0x4d7acf=a111_0x3e4ded;validateAddInput(_0x57817d);const {plan:_0xc9609c}=await buildSafeAddPlan(_0x57817d,!![]),_0x1482f3=_0xc9609c[_0x4d7acf(0xfd)],_0x20235f=createBody(_0x1482f3);return menuDryRunResult(_0xc9609c,{'method':_0x4d7acf(0xb6),'url':'/smartapi/menu/create','body':_0x20235f,'description':'Would\x20create\x20external\x20website\x20link\x20menu\x20'+JSON[_0x4d7acf(0x133)](_0x1482f3[_0x4d7acf(0xb9)])+_0x4d7acf(0xc9)+_0x57817d['str']('open-mode')+_0x4d7acf(0xbd)});},async 'execute'(_0x107326){const _0x417439=a111_0x3e4ded;validateAddInput(_0x107326);const _0x92d3f=await buildSafeAddPlan(_0x107326,![]),{plan:_0x58e69b,snapshot:_0x600cb6}=_0x92d3f,_0x54c28b=_0x58e69b[_0x417439(0xfd)],_0x11cefb=buildMenuLookupCommand(_0x107326[_0x417439(0xb5)]);await recheckAddSnapshot(_0x107326,_0x58e69b);let _0x30ca95;try{_0x30ca95=await createMenuEntity(_0x107326[_0x417439(0xb5)],_0x107326['cookie'],createBody(_0x54c28b));}catch(_0x5bc64e){const _0x3e527f=mapMenuApiError(_0x5bc64e,_0x417439(0x131));if(!isMenuResponseLoss(_0x5bc64e)||_0x3e527f[_0x417439(0x102)]==='menu_permission_denied')throw externalLinkCreateFailure(_0x3e527f,_0x58e69b,{'stage':_0x417439(0x126),'failed':{},'verification':{'status':_0x417439(0x11d),'lookupCommand':_0x11cefb}});return recoverAfterResponseLoss(_0x107326,_0x92d3f,_0x11cefb);}const _0x4745d5=Number(_0x30ca95?.['id']),_0x9d3212=typeof _0x30ca95?.[_0x417439(0xf0)]===_0x417439(0x11f)?_0x30ca95[_0x417439(0xf0)]:'';if(!Number[_0x417439(0xba)](_0x4745d5)||_0x4745d5<=0x0||!_0x9d3212[_0x417439(0xb4)]()){const _0x4a0c76=menuError(_0x417439(0x127),'Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.',_0x417439(0xdb)+_0x11cefb+_0x417439(0xb3));throw externalLinkCreateFailure(_0x4a0c76,_0x58e69b,{'stage':_0x417439(0xe1),'succeeded':Number[_0x417439(0xba)](_0x4745d5)&&_0x4745d5>0x0?[{'id':_0x4745d5,'created':!![]}]:[],'failed':{'createdId':Number[_0x417439(0xba)](_0x4745d5)?_0x4745d5:null,'generatedPathConfirmed':Boolean(_0x9d3212[_0x417439(0xb4)]())},'warnings':[_0x417439(0x132)],'after':Number[_0x417439(0xba)](_0x4745d5)&&_0x4745d5>0x0?{..._0x54c28b,'id':_0x4745d5,'path':_0x9d3212}:_0x54c28b,'verification':{'status':_0x417439(0x11d),'lookupCommand':_0x11cefb,...Number[_0x417439(0xba)](_0x4745d5)&&_0x4745d5>0x0?{'targetId':_0x4745d5}:{}}});}const _0x25bc8a=await readAndVerifyCreatedMenu({'appCode':_0x107326[_0x417439(0xb5)],'cookie':_0x107326[_0x417439(0x12d)],'plan':_0x58e69b,'afterPlan':_0x54c28b,'createdId':_0x4745d5,'expectedPath':_0x9d3212,'lookupCommand':_0x11cefb,'recovered':![]});return creationSuccess(_0x58e69b,_0x25bc8a[_0x417439(0xf1)],_0x25bc8a[_0x417439(0xcb)],![]);}};function validateAddInput(_0x233b63){const _0x29a3c7=a111_0x3e4ded;if(!_0x233b63[_0x29a3c7(0x117)](_0x29a3c7(0xb9))[_0x29a3c7(0xb4)]())throw CliErrors[_0x29a3c7(0xee)]('label');resolveExternalMenuType(_0x233b63),validateExternalMenuUrl(_0x233b63['str'](_0x29a3c7(0xf6))),parseParentId(_0x233b63,_0x29a3c7(0x11c)),validateSort(_0x233b63);}function resolveExternalMenuType(_0x674563){const _0x14d63c=a111_0x3e4ded,_0x4f7e0d=_0x674563['str'](_0x14d63c(0x12c))[_0x14d63c(0xb4)]();if(!_0x4f7e0d)throw CliErrors['flagMissing']('open-mode');const _0x251dcc=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x4f7e0d];if(!_0x251dcc)throw menuError(_0x14d63c(0xc6),'--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.');return _0x251dcc;}async function buildAddPlan(_0x454f88,_0x1877bf){const _0x1806ef=a111_0x3e4ded,_0x1347c2=await fetchMutationSnapshot(_0x454f88,_0x1806ef(0x131)),_0x25c85a=parseParentId(_0x454f88,_0x1806ef(0x11c))??null;if(_0x25c85a!=null)requireFolder(_0x1347c2,_0x25c85a);const _0x49f8fb=validateSort(_0x454f88),_0x5aacb4=_0x49f8fb??nextSiblingSort(_0x1347c2,_0x25c85a,'menu'),_0x37d1cf=_0x454f88[_0x1806ef(0x117)](_0x1806ef(0xb9))['trim'](),_0x3c8188=resolveExternalMenuType(_0x454f88),_0x4ba44d=validateExternalMenuUrl(_0x454f88[_0x1806ef(0x117)](_0x1806ef(0xf6))),_0x1ee680=Object[_0x1806ef(0xfc)][_0x1806ef(0x123)]['call'](_0x454f88[_0x1806ef(0xeb)],_0x1806ef(0xae))?_0x454f88[_0x1806ef(0xaf)](_0x1806ef(0xae)):!![],_0x1eca42={'id':null,'parentId':_0x25c85a,'label':_0x37d1cf,'path':_0x1806ef(0x101),'url':_0x4ba44d,'type':_0x3c8188,'visible':_0x1ee680,'sort':_0x5aacb4},_0x35bd08=buildMenuLookupCommand(_0x454f88[_0x1806ef(0xb5)]),_0x359f4e=mutationResult({'operation':_0x1806ef(0xe6),'selector':{'parentId':_0x25c85a,'type':_0x3c8188,'label':_0x37d1cf,'url':_0x4ba44d},'before':null,'after':_0x1eca42,'dryRun':_0x1877bf,'backend':[{'method':_0x1806ef(0xb6),'path':_0x1806ef(0xf4)}],'plannedActions':[{'stage':_0x1806ef(0xda),'method':_0x1806ef(0xb6),'path':'/smartapi/menu/create','body':createBody(_0x1eca42)}],'snapshotHash':_0x1347c2[_0x1806ef(0xd1)],'warnings':[_0x1806ef(0x103)],'verification':{'lookupCommand':_0x35bd08}});return{'plan':_0x359f4e,'snapshot':_0x1347c2};}async function buildSafeAddPlan(_0x19a465,_0x4dce1a){try{return await buildAddPlan(_0x19a465,_0x4dce1a);}catch(_0x3b7365){throw safeMenuAddError(_0x3b7365);}}async function recheckAddSnapshot(_0x168f0a,_0x1e1c5e){const _0x33fc5a=a111_0x3e4ded;try{await recheckMutationSnapshot(_0x168f0a,_0x1e1c5e,_0x33fc5a(0x131));}catch(_0x48e0b8){const _0x137037=getFailureRecord(_0x48e0b8);throw externalLinkCreateFailure(_0x48e0b8,_0x1e1c5e,{'stage':'pre-write-recheck','failed':{..._0x137037?.[_0x33fc5a(0x12e)]?{'expectedSnapshotHash':_0x137037[_0x33fc5a(0x12e)]}:{},..._0x137037?.[_0x33fc5a(0xec)]?{'currentSnapshotHash':_0x137037[_0x33fc5a(0xec)]}:{}}});}}function createBody(_0x5650a0){const _0x10e328=a111_0x3e4ded;return{'parentId':toApiParentId(_0x5650a0[_0x10e328(0x134)]),'label':String(_0x5650a0[_0x10e328(0xb9)]),'type':String(_0x5650a0['type']),'url':String(_0x5650a0[_0x10e328(0xf6)]),'visible':Boolean(_0x5650a0[_0x10e328(0xae)]),'sort':Number(_0x5650a0[_0x10e328(0x125)]),'extend':{}};}function a111_0x5101(_0x3262b7,_0x32578e){_0x3262b7=_0x3262b7-0xa8;const _0x548463=a111_0x5484();let _0x510109=_0x548463[_0x3262b7];return _0x510109;}function buildMenuLookupCommand(_0x5c8ef5){const _0x4c9d0c=a111_0x3e4ded,_0x2a7ff4='\x27'+_0x5c8ef5[_0x4c9d0c(0x104)](/'/g,_0x4c9d0c(0xe7))+'\x27';return'rabetbase\x20menu\x20list\x20--appcode\x20'+_0x2a7ff4+_0x4c9d0c(0xce);}async function recoverAfterResponseLoss(_0x399e3d,_0x1dbefb,_0x12d7f9){const _0x217920=a111_0x3e4ded,{plan:_0x5628b8,snapshot:_0x241960}=_0x1dbefb,_0xbac798=_0x5628b8[_0x217920(0xfd)];let _0x309ead;try{_0x309ead=await fetchMenuSnapshot(_0x399e3d[_0x217920(0xb5)],_0x399e3d[_0x217920(0x12d)]);}catch(_0x4875b3){throw recoveryRequiredFailure(_0x5628b8,_0x12d7f9,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x1f6952=_0x309ead[_0x217920(0x12b)][_0x217920(0xf2)](_0x48897a=>_0x48897a[_0x217920(0x134)]===_0xbac798[_0x217920(0x134)]&&_0x48897a['type']===_0xbac798[_0x217920(0xd3)]&&_0x48897a[_0x217920(0xb9)]===_0xbac798[_0x217920(0xb9)]&&_0x48897a[_0x217920(0xf6)]===_0xbac798[_0x217920(0xf6)]),_0x28dd45=_0x1f6952['filter'](_0x5f09b7=>!_0x241960[_0x217920(0xf3)][_0x217920(0x11b)](_0x5f09b7['id'])),_0x2971da=_0x1f6952[_0x217920(0xf2)](_0x5cce96=>_0x241960[_0x217920(0xf3)][_0x217920(0x11b)](_0x5cce96['id']));if(_0x1f6952['length']!==0x1||_0x28dd45[_0x217920(0x122)]!==0x1)throw recoveryRequiredFailure(_0x5628b8,_0x12d7f9,{'matchCount':_0x1f6952[_0x217920(0x122)],'newMatchCount':_0x28dd45[_0x217920(0x122)],'preexistingMatchCount':_0x2971da[_0x217920(0x122)]});const _0x53f022=_0x28dd45[0x0];try{verifyCreatedFact(_0x53f022,_0x53f022['id'],_0xbac798,null);}catch(_0x11ee67){const _0x5f444e=_0x11ee67 instanceof Error&&_0x217920(0x102)in _0x11ee67?_0x11ee67:menuError(_0x217920(0xe5),'Recovered\x20menu\x20'+_0x53f022['id']+_0x217920(0xa8),_0x217920(0xdb)+_0x12d7f9+_0x217920(0xb0));throw externalLinkCreateFailure(_0x5f444e,_0x5628b8,{'stage':_0x217920(0xbc),'succeeded':[{'id':_0x53f022['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x53f022['id'],'finalFactsConfirmed':![]},'after':_0x53f022,'warnings':['Menu\x20'+_0x53f022['id']+'\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.'],'verification':{'status':_0x217920(0x11d),'targetId':_0x53f022['id'],'recovered':!![],'lookupCommand':_0x12d7f9}});}return creationSuccess(_0x5628b8,_0x309ead,_0x53f022,!![]);}function recoveryRequiredFailure(_0x33c74a,_0x162981,_0x5db0e4){const _0x583961=a111_0x3e4ded,_0x3f4374=menuError('menu_create_recovery_required',_0x583961(0x115),_0x583961(0xdb)+_0x162981+_0x583961(0xff));return externalLinkCreateFailure(_0x3f4374,_0x33c74a,{'stage':_0x583961(0xcf),'failed':_0x5db0e4,'warnings':['The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.'],'verification':{'status':_0x583961(0x11d),..._0x5db0e4,'lookupCommand':_0x162981}});}async function readAndVerifyCreatedMenu(_0xc37b20){const _0x330acc=a111_0x3e4ded;let _0x2ceac2;try{_0x2ceac2=await fetchMenuSnapshot(_0xc37b20[_0x330acc(0xb5)],_0xc37b20[_0x330acc(0x12d)]);}catch(_0x2bc9ae){const _0x56cff1=menuError(_0x330acc(0xe5),_0x330acc(0x120)+_0xc37b20[_0x330acc(0xd5)]+_0x330acc(0xd8),'Run\x20'+_0xc37b20['lookupCommand']+_0x330acc(0xc8));throw externalLinkCreateFailure(_0x56cff1,_0xc37b20[_0x330acc(0xc2)],{'stage':'verification','succeeded':[{'id':_0xc37b20[_0x330acc(0xd5)],'created':!![]}],'failed':{'id':_0xc37b20[_0x330acc(0xd5)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0xc37b20['afterPlan'],'id':_0xc37b20[_0x330acc(0xd5)],'path':_0xc37b20['expectedPath']},'warnings':[_0x330acc(0x120)+_0xc37b20[_0x330acc(0xd5)]+_0x330acc(0xb2)],'verification':{'status':_0x330acc(0x11d),'targetId':_0xc37b20['createdId'],'lookupCommand':_0xc37b20['lookupCommand']}});}const _0x23ad7e=_0x2ceac2[_0x330acc(0xf3)][_0x330acc(0xf8)](_0xc37b20[_0x330acc(0xd5)]);try{if(!_0x23ad7e)throw menuError('menu_verification_failed',_0x330acc(0xe0)+_0xc37b20[_0x330acc(0xd5)]+'\x20is\x20missing\x20from\x20final\x20menu\x20facts.',_0x330acc(0xdb)+_0xc37b20['lookupCommand']+_0x330acc(0xc8));verifyCreatedFact(_0x23ad7e,_0xc37b20[_0x330acc(0xd5)],_0xc37b20[_0x330acc(0xe9)],_0xc37b20[_0x330acc(0xfa)]);}catch(_0x373621){const _0xda9c99=_0x373621 instanceof Error&&_0x330acc(0x102)in _0x373621?_0x373621:menuError(_0x330acc(0xe5),_0x330acc(0xe0)+_0xc37b20[_0x330acc(0xd5)]+'\x20failed\x20final\x20verification.',_0x330acc(0xdb)+_0xc37b20[_0x330acc(0x105)]+_0x330acc(0xc8));throw externalLinkCreateFailure(_0xda9c99,_0xc37b20[_0x330acc(0xc2)],{'stage':'verification','succeeded':[{'id':_0xc37b20[_0x330acc(0xd5)],'created':!![]}],'failed':{'id':_0xc37b20[_0x330acc(0xd5)],'finalFactsConfirmed':![]},'after':_0x23ad7e??{..._0xc37b20[_0x330acc(0xe9)],'id':_0xc37b20[_0x330acc(0xd5)],'path':_0xc37b20['expectedPath']},'warnings':[_0x330acc(0x120)+_0xc37b20[_0x330acc(0xd5)]+'\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.'],'verification':{'status':_0x330acc(0x11d),'targetId':_0xc37b20[_0x330acc(0xd5)],'recovered':_0xc37b20[_0x330acc(0xb8)],'lookupCommand':_0xc37b20['lookupCommand']}});}return{'snapshot':_0x2ceac2,'fact':_0x23ad7e};}function verifyCreatedFact(_0x1a80c8,_0x38ed68,_0x2cff4c,_0x1899af){const _0x1a7b9d=a111_0x3e4ded;if(!Number[_0x1a7b9d(0xba)](_0x1a80c8['id'])||_0x1a80c8['id']<=0x0||_0x1a80c8['id']!==_0x38ed68)throw menuError(_0x1a7b9d(0xe5),_0x1a7b9d(0x129),'Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.');const _0x628b60=[[_0x1a7b9d(0x121),_0x1a80c8['parentId'],_0x2cff4c['parentId']],[_0x1a7b9d(0xd3),_0x1a80c8[_0x1a7b9d(0xd3)],_0x2cff4c[_0x1a7b9d(0xd3)]],[_0x1a7b9d(0xb9),_0x1a80c8['label'],_0x2cff4c[_0x1a7b9d(0xb9)]],[_0x1a7b9d(0xad),_0x1a80c8['url'],_0x2cff4c['url']],[_0x1a7b9d(0xc4),_0x1a80c8[_0x1a7b9d(0xae)],_0x2cff4c[_0x1a7b9d(0xae)]],['sort',_0x1a80c8[_0x1a7b9d(0x125)],_0x2cff4c[_0x1a7b9d(0x125)]]];for(const [_0x2eaf43,_0x49f749,_0x393bef]of _0x628b60){if(_0x49f749!==_0x393bef)throw menuError('menu_verification_failed',_0x1a7b9d(0xe0)+_0x1a80c8['id']+_0x1a7b9d(0xa9)+_0x2eaf43+'.',_0x1a7b9d(0xde));}if(!_0x1a80c8['path'][_0x1a7b9d(0xb4)]()||_0x1899af!==null&&_0x1a80c8[_0x1a7b9d(0xf0)]!==_0x1899af)throw menuError('menu_verification_failed','Created\x20menu\x20'+_0x1a80c8['id']+_0x1a7b9d(0xed),_0x1a7b9d(0xde));}function creationSuccess(_0x8eb560,_0x3f00f8,_0x2c450b,_0x23f295){const _0x201867=a111_0x3e4ded,_0x10d0d7=mutationResult({..._0x8eb560,'after':_0x2c450b,'dryRun':![],'succeeded':[{'id':_0x2c450b['id'],'created':!![],'recovered':_0x23f295}],'verification':{'checkedBy':_0x201867(0x130),'snapshotHash':_0x3f00f8[_0x201867(0xd1)],'targetId':_0x2c450b['id'],'recovered':_0x23f295,'path':_0x2c450b['path']}});return{'ok':!![],'message':_0x23f295?_0x201867(0x109)+_0x2c450b['id']+_0x201867(0x118):'Created\x20external\x20menu\x20'+_0x2c450b['id']+'.','data':{..._0x10d0d7,'recovered':_0x23f295}};}function externalLinkCreateFailure(_0x25ce52,_0x282b01,_0x2248f8){const _0x1bcd6a=a111_0x3e4ded;return menuFailure(safeMenuAddError(_0x25ce52),redactFailurePlan(_0x282b01),{..._0x2248f8,'succeeded':_0x2248f8[_0x1bcd6a(0x10c)]?.[_0x1bcd6a(0xc0)](redactFailureRecord),'failed':_0x2248f8[_0x1bcd6a(0x11d)]?redactFailureRecord(_0x2248f8[_0x1bcd6a(0x11d)]):undefined,'verification':_0x2248f8['verification']?redactFailureRecord(_0x2248f8[_0x1bcd6a(0xbc)]):undefined,'after':_0x2248f8[_0x1bcd6a(0xfd)]===undefined?undefined:redactFailureValue(_0x2248f8[_0x1bcd6a(0xfd)])});}function redactFailurePlan(_0x52e7cf){const _0x2418ae=a111_0x3e4ded;return{..._0x52e7cf,'selector':redactFailureRecord(_0x52e7cf['selector']),'before':redactFailureValue(_0x52e7cf['before']),'after':redactFailureValue(_0x52e7cf[_0x2418ae(0xfd)]),'plannedActions':_0x52e7cf[_0x2418ae(0xdc)]?.[_0x2418ae(0xc0)](_0x3a8360=>({..._0x3a8360,'body':redactFailureRecord(_0x3a8360[_0x2418ae(0xe8)])})),'succeeded':_0x52e7cf['succeeded'][_0x2418ae(0xc0)](redactFailureRecord),'failed':_0x52e7cf[_0x2418ae(0x11d)][_0x2418ae(0xc0)](redactFailureRecord),'verification':_0x52e7cf[_0x2418ae(0xbc)]?redactFailureRecord(_0x52e7cf[_0x2418ae(0xbc)]):undefined};}function redactFailureRecord(_0x3d14cc){return redactFailureValue(_0x3d14cc);}function redactFailureValue(_0x490637,_0x3719b4=''){const _0x2a0b6b=a111_0x3e4ded,_0x22b053=_0x3719b4[_0x2a0b6b(0xc3)]()[_0x2a0b6b(0x104)](/[^a-z0-9]/g,'');if([_0x2a0b6b(0x100),_0x2a0b6b(0x11a),_0x2a0b6b(0x113),_0x2a0b6b(0x10d)][_0x2a0b6b(0x110)](_0x22b053))return'<redacted>';if(Array[_0x2a0b6b(0xcc)](_0x490637))return _0x490637['map'](_0x322927=>redactFailureValue(_0x322927));if(_0x490637&&typeof _0x490637===_0x2a0b6b(0xb1))return Object[_0x2a0b6b(0x119)](Object[_0x2a0b6b(0x108)](_0x490637)[_0x2a0b6b(0xc0)](([_0x4fe342,_0x3dd8a9])=>[_0x4fe342,redactFailureValue(_0x3dd8a9,_0x4fe342)]));return _0x490637;}function safeMenuAddError(_0xbd4209){const _0x18ca73=a111_0x3e4ded,_0x2fb657=_0xbd4209 instanceof CliError?_0xbd4209[_0x18ca73(0x102)]:_0x18ca73(0x111);switch(_0x2fb657){case _0x18ca73(0xd9):return menuError(_0x2fb657,'Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.',_0x18ca73(0x10e));case _0x18ca73(0xca):return menuError(_0x2fb657,_0x18ca73(0xbe),'Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.');case _0x18ca73(0x127):return menuError(_0x2fb657,_0x18ca73(0x10a),'Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.');case _0x18ca73(0xe5):return menuError(_0x2fb657,_0x18ca73(0xd4),_0x18ca73(0xaa));case _0x18ca73(0xfe):return menuError(_0x2fb657,'The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.',_0x18ca73(0xab));case _0x18ca73(0x111):case _0x18ca73(0x116):case _0x18ca73(0xd0):case _0x18ca73(0x112):case'menu_sort_overflow':return menuError(_0x2fb657,'External\x20menu\x20creation\x20failed.',_0x18ca73(0xc5));default:return menuError(_0x18ca73(0x111),'External\x20menu\x20creation\x20failed.','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.');}}function getFailureRecord(_0x17bcdc){const _0x1be9a7=a111_0x3e4ded;if(!(_0x17bcdc instanceof Error)||!(_0x1be9a7(0xd7)in _0x17bcdc))return undefined;const _0x4938ac=_0x17bcdc[_0x1be9a7(0xd7)];if(!_0x4938ac||typeof _0x4938ac!==_0x1be9a7(0xb1))return undefined;const _0x401187=_0x4938ac[_0x1be9a7(0x11d)];if(!Array[_0x1be9a7(0xcc)](_0x401187)||!_0x401187[0x0]||typeof _0x401187[0x0]!=='object')return undefined;return _0x401187[0x0];}
|
|
1
|
+
const a112_0x37fb84=a112_0x43b2;(function(_0x471cf5,_0x3dae15){const _0x5598b6=a112_0x43b2,_0x666a8c=_0x471cf5();while(!![]){try{const _0x58bfc4=parseInt(_0x5598b6(0x13a))/0x1+parseInt(_0x5598b6(0x14b))/0x2+-parseInt(_0x5598b6(0x130))/0x3*(-parseInt(_0x5598b6(0x174))/0x4)+-parseInt(_0x5598b6(0x10a))/0x5*(-parseInt(_0x5598b6(0x14a))/0x6)+parseInt(_0x5598b6(0x126))/0x7*(-parseInt(_0x5598b6(0x169))/0x8)+-parseInt(_0x5598b6(0x16c))/0x9+-parseInt(_0x5598b6(0x110))/0xa;if(_0x58bfc4===_0x3dae15)break;else _0x666a8c['push'](_0x666a8c['shift']());}catch(_0x52ae7c){_0x666a8c['push'](_0x666a8c['shift']());}}}(a112_0x4ec0,0x19b9a));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,fetchMutationSnapshot,menuDryRunResult,menuError,menuFailure,mapMenuApiError,isMenuResponseLoss,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const EXTERNAL_MENU_TYPES_BY_OPEN_MODE={'embedded':a112_0x37fb84(0x178),'new-window':a112_0x37fb84(0x184)};export function validateExternalMenuUrl(_0x5bc9cf){const _0xc0d0eb=a112_0x37fb84,_0x389465=_0x5bc9cf['trim']();let _0x506adc;try{_0x506adc=new URL(_0x389465);}catch{throw menuError(_0xc0d0eb(0x117),_0xc0d0eb(0x118),_0xc0d0eb(0x147));}if(_0x506adc[_0xc0d0eb(0x101)]!==_0xc0d0eb(0x168))throw menuError(_0xc0d0eb(0x140),_0xc0d0eb(0x13e),'Provide\x20an\x20HTTPS\x20URL.');if(_0x506adc[_0xc0d0eb(0x13b)]||_0x506adc[_0xc0d0eb(0x153)])throw menuError('menu_url_credentials_forbidden',_0xc0d0eb(0x182),_0xc0d0eb(0x115));return _0x389465;}export const menuExternalLinkCreate={'service':a112_0x37fb84(0x14c),'command':'external-link-create','description':a112_0x37fb84(0x150),'risk':a112_0x37fb84(0x139),'structuredErrors':!![],'flags':[{'name':a112_0x37fb84(0x116),'type':'string','required':!![],'description':a112_0x37fb84(0x177)},{'name':a112_0x37fb84(0x121),'type':a112_0x37fb84(0x108),'required':!![],'enum':[a112_0x37fb84(0x165),a112_0x37fb84(0x114)],'description':a112_0x37fb84(0x158)},{'name':'url','type':a112_0x37fb84(0x108),'required':!![],'description':a112_0x37fb84(0x16d)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a112_0x37fb84(0x105),'type':a112_0x37fb84(0x10b),'default':!![],'description':a112_0x37fb84(0x144)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x14ddaf){validateAddInput(_0x14ddaf);},async 'dryRun'(_0x611504){const _0x21201e=a112_0x37fb84;validateAddInput(_0x611504);const {plan:_0x3093a8}=await buildSafeAddPlan(_0x611504,!![]),_0x5260e4=_0x3093a8[_0x21201e(0x12b)],_0x268d80=createBody(_0x5260e4);return menuDryRunResult(_0x3093a8,{'method':_0x21201e(0x103),'url':_0x21201e(0x11e),'body':_0x268d80,'description':_0x21201e(0x113)+JSON[_0x21201e(0x15a)](_0x5260e4[_0x21201e(0x116)])+'\x20with\x20'+_0x611504['str'](_0x21201e(0x121))+_0x21201e(0x186)});},async 'execute'(_0xde93ed){const _0x29341b=a112_0x37fb84;validateAddInput(_0xde93ed);const _0x42e1bd=await buildSafeAddPlan(_0xde93ed,![]),{plan:_0x52f5ea,snapshot:_0x1070bc}=_0x42e1bd,_0x4f9ac8=_0x52f5ea[_0x29341b(0x12b)],_0x245780=buildMenuLookupCommand(_0xde93ed[_0x29341b(0x176)]);await recheckAddSnapshot(_0xde93ed,_0x52f5ea);let _0x233726;try{_0x233726=await createMenuEntity(_0xde93ed[_0x29341b(0x176)],_0xde93ed['cookie'],createBody(_0x4f9ac8));}catch(_0x30d5c5){const _0x506a85=mapMenuApiError(_0x30d5c5,_0x29341b(0x159));if(!isMenuResponseLoss(_0x30d5c5)||_0x506a85['code']===_0x29341b(0x10c))throw externalLinkCreateFailure(_0x506a85,_0x52f5ea,{'stage':'create','failed':{},'verification':{'status':_0x29341b(0x143),'lookupCommand':_0x245780}});return recoverAfterResponseLoss(_0xde93ed,_0x42e1bd,_0x245780);}const _0x26f83a=Number(_0x233726?.['id']),_0x50ebff=typeof _0x233726?.[_0x29341b(0x11d)]==='string'?_0x233726['path']:'';if(!Number[_0x29341b(0x17a)](_0x26f83a)||_0x26f83a<=0x0||!_0x50ebff['trim']()){const _0x5cdb95=menuError(_0x29341b(0x167),_0x29341b(0x15e),_0x29341b(0x136)+_0x245780+_0x29341b(0x164));throw externalLinkCreateFailure(_0x5cdb95,_0x52f5ea,{'stage':_0x29341b(0x149),'succeeded':Number['isSafeInteger'](_0x26f83a)&&_0x26f83a>0x0?[{'id':_0x26f83a,'created':!![]}]:[],'failed':{'createdId':Number[_0x29341b(0x17a)](_0x26f83a)?_0x26f83a:null,'generatedPathConfirmed':Boolean(_0x50ebff[_0x29341b(0x189)]())},'warnings':['The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.'],'after':Number[_0x29341b(0x17a)](_0x26f83a)&&_0x26f83a>0x0?{..._0x4f9ac8,'id':_0x26f83a,'path':_0x50ebff}:_0x4f9ac8,'verification':{'status':'failed','lookupCommand':_0x245780,...Number[_0x29341b(0x17a)](_0x26f83a)&&_0x26f83a>0x0?{'targetId':_0x26f83a}:{}}});}const _0x45783c=await readAndVerifyCreatedMenu({'appCode':_0xde93ed[_0x29341b(0x176)],'cookie':_0xde93ed[_0x29341b(0x10f)],'plan':_0x52f5ea,'afterPlan':_0x4f9ac8,'createdId':_0x26f83a,'expectedPath':_0x50ebff,'lookupCommand':_0x245780,'recovered':![]});return creationSuccess(_0x52f5ea,_0x45783c[_0x29341b(0x122)],_0x45783c[_0x29341b(0x124)],![]);}};function a112_0x4ec0(){const _0x25184d=['\x20failed\x20final\x20verification.','protocol','entries','POST','\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.','visible','toLowerCase','flagMissing','string','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','5RlWORy','boolean','menu_permission_denied','\x20--format\x20compress','str','cookie','2708930MLmvGH','hash','rawFlags','Would\x20create\x20external\x20website\x20link\x20menu\x20','new-window','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','label','menu_url_invalid','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.','menu_state_drift','sort','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','path','/smartapi/menu/create','menu_mutation_failed','\x20has\x20an\x20unexpected\x20generated\x20path.','open-mode','snapshot','length','fact','lookupCommand','1309NDmMQY','url','Created\x20external\x20menu\x20','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','menu_open_mode_invalid','after','cause','isArray','parentId','menu_not_found','3KMypiX','\x20could\x20not\x20be\x20verified.','menu_sort_invalid','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','prototype','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','Run\x20','hasOwnProperty','rawerror','write','160398BeTVzq','username','create-recovery','menu_create_recovery_required','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','expectedPath','menu_url_https_required','filter','afterPlan','failed','Whether\x20the\x20menu\x20is\x20visible','menu_verification_failed','type','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','rabetbase\x20menu\x20list\x20--appcode\x20','create-response-validation','424752TILkfI','153970elbTfw','menu','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','verification','<redacted>','Create\x20an\x20external\x20website\x20link\x20menu','map','data','password','call','selector','get','byId','How\x20to\x20open\x20the\x20external\x20website','create\x20external\x20menu','stringify','bool','currentSnapshotHash','\x27\x5c\x27\x27','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','External\x20menu\x20creation\x20failed.','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','replace','createdId','\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.','embedded','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','menu_create_response_invalid','https:','56kNxQhr','causemessage','menu\x20list','1214604rpjdSE','External\x20HTTPS\x20URL','parent-id','readbackerror','Menu\x20','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','before','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','817412aBNtLg','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','appCode','Menu\x20label','iframe','URL','isSafeInteger','Recovered\x20menu\x20','has','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','\x20has\x20an\x20unexpected\x20','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','expectedSnapshotHash','link','plannedActions','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','plan','create-menu','trim','code','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','includes','succeeded','Created\x20menu\x20','menu_parent_not_folder'];a112_0x4ec0=function(){return _0x25184d;};return a112_0x4ec0();}function validateAddInput(_0x12c3da){const _0x1c5117=a112_0x37fb84;if(!_0x12c3da[_0x1c5117(0x10e)]('label')[_0x1c5117(0x189)]())throw CliErrors[_0x1c5117(0x107)]('label');resolveExternalMenuType(_0x12c3da),validateExternalMenuUrl(_0x12c3da[_0x1c5117(0x10e)](_0x1c5117(0x127))),parseParentId(_0x12c3da,_0x1c5117(0x16e)),validateSort(_0x12c3da);}function resolveExternalMenuType(_0x253a5c){const _0x30078f=a112_0x37fb84,_0x1e7672=_0x253a5c[_0x30078f(0x10e)]('open-mode')[_0x30078f(0x189)]();if(!_0x1e7672)throw CliErrors['flagMissing'](_0x30078f(0x121));const _0x356247=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x1e7672];if(!_0x356247)throw menuError(_0x30078f(0x12a),_0x30078f(0x15f),_0x30078f(0x171));return _0x356247;}async function buildAddPlan(_0x364733,_0x5ee9b0){const _0x5c8121=a112_0x37fb84,_0xa9ed1f=await fetchMutationSnapshot(_0x364733,_0x5c8121(0x159)),_0x243e60=parseParentId(_0x364733,'parent-id')??null;if(_0x243e60!=null)requireFolder(_0xa9ed1f,_0x243e60);const _0x2da789=validateSort(_0x364733),_0x5e8898=_0x2da789??nextSiblingSort(_0xa9ed1f,_0x243e60,_0x5c8121(0x14c)),_0xa6ebe8=_0x364733[_0x5c8121(0x10e)](_0x5c8121(0x116))[_0x5c8121(0x189)](),_0x30cb39=resolveExternalMenuType(_0x364733),_0x1bee6d=validateExternalMenuUrl(_0x364733[_0x5c8121(0x10e)]('url')),_0x366ac8=Object[_0x5c8121(0x134)][_0x5c8121(0x137)][_0x5c8121(0x154)](_0x364733[_0x5c8121(0x112)],_0x5c8121(0x105))?_0x364733[_0x5c8121(0x15b)](_0x5c8121(0x105)):!![],_0x3b21ac={'id':null,'parentId':_0x243e60,'label':_0xa6ebe8,'path':'<platform-generated>','url':_0x1bee6d,'type':_0x30cb39,'visible':_0x366ac8,'sort':_0x5e8898},_0x208f46=buildMenuLookupCommand(_0x364733[_0x5c8121(0x176)]),_0x49ec3e=mutationResult({'operation':'add','selector':{'parentId':_0x243e60,'type':_0x30cb39,'label':_0xa6ebe8,'url':_0x1bee6d},'before':null,'after':_0x3b21ac,'dryRun':_0x5ee9b0,'backend':[{'method':'POST','path':_0x5c8121(0x11e)}],'plannedActions':[{'stage':_0x5c8121(0x188),'method':_0x5c8121(0x103),'path':_0x5c8121(0x11e),'body':createBody(_0x3b21ac)}],'snapshotHash':_0xa9ed1f[_0x5c8121(0x111)],'warnings':['The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.'],'verification':{'lookupCommand':_0x208f46}});return{'plan':_0x49ec3e,'snapshot':_0xa9ed1f};}function a112_0x43b2(_0x34be1e,_0x151fb0){_0x34be1e=_0x34be1e-0xfe;const _0x4ec0f2=a112_0x4ec0();let _0x43b26d=_0x4ec0f2[_0x34be1e];return _0x43b26d;}async function buildSafeAddPlan(_0x4a86cc,_0x246bf2){try{return await buildAddPlan(_0x4a86cc,_0x246bf2);}catch(_0x292117){throw safeMenuAddError(_0x292117);}}async function recheckAddSnapshot(_0x22b56d,_0x2b2c7a){const _0x4db9e5=a112_0x37fb84;try{await recheckMutationSnapshot(_0x22b56d,_0x2b2c7a,_0x4db9e5(0x159));}catch(_0x5ed61e){const _0xf0f57f=getFailureRecord(_0x5ed61e);throw externalLinkCreateFailure(_0x5ed61e,_0x2b2c7a,{'stage':'pre-write-recheck','failed':{..._0xf0f57f?.[_0x4db9e5(0x183)]?{'expectedSnapshotHash':_0xf0f57f['expectedSnapshotHash']}:{},..._0xf0f57f?.[_0x4db9e5(0x15c)]?{'currentSnapshotHash':_0xf0f57f['currentSnapshotHash']}:{}}});}}function createBody(_0x2aedd9){const _0xc6d750=a112_0x37fb84;return{'parentId':toApiParentId(_0x2aedd9[_0xc6d750(0x12e)]),'label':String(_0x2aedd9[_0xc6d750(0x116)]),'type':String(_0x2aedd9[_0xc6d750(0x146)]),'url':String(_0x2aedd9[_0xc6d750(0x127)]),'visible':Boolean(_0x2aedd9[_0xc6d750(0x105)]),'sort':Number(_0x2aedd9['sort']),'extend':{}};}function buildMenuLookupCommand(_0x390d8b){const _0x2cb70a=a112_0x37fb84,_0x891797='\x27'+_0x390d8b[_0x2cb70a(0x162)](/'/g,_0x2cb70a(0x15d))+'\x27';return _0x2cb70a(0x148)+_0x891797+_0x2cb70a(0x10d);}async function recoverAfterResponseLoss(_0x41e2e1,_0x5ca452,_0xf1deb8){const _0x4ff4d1=a112_0x37fb84,{plan:_0x29d013,snapshot:_0x9005b7}=_0x5ca452,_0x195e29=_0x29d013[_0x4ff4d1(0x12b)];let _0x205504;try{_0x205504=await fetchMenuSnapshot(_0x41e2e1[_0x4ff4d1(0x176)],_0x41e2e1[_0x4ff4d1(0x10f)]);}catch(_0x273da5){throw recoveryRequiredFailure(_0x29d013,_0xf1deb8,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x299262=_0x205504['menus'][_0x4ff4d1(0x141)](_0x2db675=>_0x2db675['parentId']===_0x195e29[_0x4ff4d1(0x12e)]&&_0x2db675[_0x4ff4d1(0x146)]===_0x195e29['type']&&_0x2db675['label']===_0x195e29[_0x4ff4d1(0x116)]&&_0x2db675[_0x4ff4d1(0x127)]===_0x195e29[_0x4ff4d1(0x127)]),_0x8024bc=_0x299262['filter'](_0x588488=>!_0x9005b7[_0x4ff4d1(0x157)][_0x4ff4d1(0x17c)](_0x588488['id'])),_0x3da211=_0x299262[_0x4ff4d1(0x141)](_0x274ddf=>_0x9005b7[_0x4ff4d1(0x157)][_0x4ff4d1(0x17c)](_0x274ddf['id']));if(_0x299262['length']!==0x1||_0x8024bc[_0x4ff4d1(0x123)]!==0x1)throw recoveryRequiredFailure(_0x29d013,_0xf1deb8,{'matchCount':_0x299262[_0x4ff4d1(0x123)],'newMatchCount':_0x8024bc[_0x4ff4d1(0x123)],'preexistingMatchCount':_0x3da211[_0x4ff4d1(0x123)]});const _0xf3f2cb=_0x8024bc[0x0];try{verifyCreatedFact(_0xf3f2cb,_0xf3f2cb['id'],_0x195e29,null);}catch(_0x41e32c){const _0x5a55a5=_0x41e32c instanceof Error&&'code'in _0x41e32c?_0x41e32c:menuError(_0x4ff4d1(0x145),_0x4ff4d1(0x17b)+_0xf3f2cb['id']+_0x4ff4d1(0x131),_0x4ff4d1(0x136)+_0xf1deb8+'\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x5a55a5,_0x29d013,{'stage':'verification','succeeded':[{'id':_0xf3f2cb['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0xf3f2cb['id'],'finalFactsConfirmed':![]},'after':_0xf3f2cb,'warnings':['Menu\x20'+_0xf3f2cb['id']+_0x4ff4d1(0x14d)],'verification':{'status':_0x4ff4d1(0x143),'targetId':_0xf3f2cb['id'],'recovered':!![],'lookupCommand':_0xf1deb8}});}return creationSuccess(_0x29d013,_0x205504,_0xf3f2cb,!![]);}function recoveryRequiredFailure(_0x159680,_0x45282c,_0x576c24){const _0x45acb9=a112_0x37fb84,_0x5a25d9=menuError(_0x45acb9(0x13d),'The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.',_0x45acb9(0x136)+_0x45282c+_0x45acb9(0x17f));return externalLinkCreateFailure(_0x5a25d9,_0x159680,{'stage':_0x45acb9(0x13c),'failed':_0x576c24,'warnings':[_0x45acb9(0x109)],'verification':{'status':_0x45acb9(0x143),..._0x576c24,'lookupCommand':_0x45282c}});}async function readAndVerifyCreatedMenu(_0x25c468){const _0x532c4f=a112_0x37fb84;let _0x57db01;try{_0x57db01=await fetchMenuSnapshot(_0x25c468[_0x532c4f(0x176)],_0x25c468[_0x532c4f(0x10f)]);}catch(_0x1c44fb){const _0x162054=menuError(_0x532c4f(0x145),_0x532c4f(0x170)+_0x25c468[_0x532c4f(0x163)]+_0x532c4f(0x17d),'Run\x20'+_0x25c468[_0x532c4f(0x125)]+_0x532c4f(0x173));throw externalLinkCreateFailure(_0x162054,_0x25c468[_0x532c4f(0x187)],{'stage':'verification','succeeded':[{'id':_0x25c468[_0x532c4f(0x163)],'created':!![]}],'failed':{'id':_0x25c468[_0x532c4f(0x163)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x25c468[_0x532c4f(0x142)],'id':_0x25c468[_0x532c4f(0x163)],'path':_0x25c468[_0x532c4f(0x13f)]},'warnings':[_0x532c4f(0x170)+_0x25c468['createdId']+_0x532c4f(0x119)],'verification':{'status':_0x532c4f(0x143),'targetId':_0x25c468['createdId'],'lookupCommand':_0x25c468['lookupCommand']}});}const _0xecd85b=_0x57db01[_0x532c4f(0x157)][_0x532c4f(0x156)](_0x25c468[_0x532c4f(0x163)]);try{if(!_0xecd85b)throw menuError(_0x532c4f(0x145),_0x532c4f(0xfe)+_0x25c468[_0x532c4f(0x163)]+_0x532c4f(0x18b),_0x532c4f(0x136)+_0x25c468['lookupCommand']+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');verifyCreatedFact(_0xecd85b,_0x25c468['createdId'],_0x25c468[_0x532c4f(0x142)],_0x25c468[_0x532c4f(0x13f)]);}catch(_0x7de02a){const _0x222074=_0x7de02a instanceof Error&&_0x532c4f(0x18a)in _0x7de02a?_0x7de02a:menuError('menu_verification_failed',_0x532c4f(0xfe)+_0x25c468['createdId']+_0x532c4f(0x100),_0x532c4f(0x136)+_0x25c468[_0x532c4f(0x125)]+_0x532c4f(0x173));throw externalLinkCreateFailure(_0x222074,_0x25c468[_0x532c4f(0x187)],{'stage':_0x532c4f(0x14e),'succeeded':[{'id':_0x25c468[_0x532c4f(0x163)],'created':!![]}],'failed':{'id':_0x25c468[_0x532c4f(0x163)],'finalFactsConfirmed':![]},'after':_0xecd85b??{..._0x25c468['afterPlan'],'id':_0x25c468[_0x532c4f(0x163)],'path':_0x25c468[_0x532c4f(0x13f)]},'warnings':[_0x532c4f(0x170)+_0x25c468[_0x532c4f(0x163)]+_0x532c4f(0x104)],'verification':{'status':'failed','targetId':_0x25c468['createdId'],'recovered':_0x25c468['recovered'],'lookupCommand':_0x25c468['lookupCommand']}});}return{'snapshot':_0x57db01,'fact':_0xecd85b};}function verifyCreatedFact(_0xfb3d0f,_0x3fb625,_0x4075ff,_0xae1321){const _0x5b26e8=a112_0x37fb84;if(!Number[_0x5b26e8(0x17a)](_0xfb3d0f['id'])||_0xfb3d0f['id']<=0x0||_0xfb3d0f['id']!==_0x3fb625)throw menuError(_0x5b26e8(0x145),'Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.',_0x5b26e8(0x180));const _0x83aaeb=[['parent',_0xfb3d0f[_0x5b26e8(0x12e)],_0x4075ff['parentId']],[_0x5b26e8(0x146),_0xfb3d0f[_0x5b26e8(0x146)],_0x4075ff[_0x5b26e8(0x146)]],[_0x5b26e8(0x116),_0xfb3d0f['label'],_0x4075ff[_0x5b26e8(0x116)]],[_0x5b26e8(0x179),_0xfb3d0f[_0x5b26e8(0x127)],_0x4075ff[_0x5b26e8(0x127)]],['visibility',_0xfb3d0f[_0x5b26e8(0x105)],_0x4075ff['visible']],[_0x5b26e8(0x11b),_0xfb3d0f[_0x5b26e8(0x11b)],_0x4075ff[_0x5b26e8(0x11b)]]];for(const [_0x41d96c,_0x61092c,_0x251ebb]of _0x83aaeb){if(_0x61092c!==_0x251ebb)throw menuError('menu_verification_failed',_0x5b26e8(0xfe)+_0xfb3d0f['id']+_0x5b26e8(0x181)+_0x41d96c+'.',_0x5b26e8(0x161));}if(!_0xfb3d0f['path'][_0x5b26e8(0x189)]()||_0xae1321!==null&&_0xfb3d0f[_0x5b26e8(0x11d)]!==_0xae1321)throw menuError('menu_verification_failed',_0x5b26e8(0xfe)+_0xfb3d0f['id']+_0x5b26e8(0x120),_0x5b26e8(0x161));}function creationSuccess(_0x39488c,_0xe9e0e3,_0x1fc520,_0x3be2ef){const _0x15e3d1=a112_0x37fb84,_0x429f8c=mutationResult({..._0x39488c,'after':_0x1fc520,'dryRun':![],'succeeded':[{'id':_0x1fc520['id'],'created':!![],'recovered':_0x3be2ef}],'verification':{'checkedBy':_0x15e3d1(0x16b),'snapshotHash':_0xe9e0e3[_0x15e3d1(0x111)],'targetId':_0x1fc520['id'],'recovered':_0x3be2ef,'path':_0x1fc520[_0x15e3d1(0x11d)]}});return{'ok':!![],'message':_0x3be2ef?'Recovered\x20created\x20external\x20menu\x20'+_0x1fc520['id']+'\x20after\x20response\x20loss.':_0x15e3d1(0x128)+_0x1fc520['id']+'.','data':{..._0x429f8c,'recovered':_0x3be2ef}};}function externalLinkCreateFailure(_0x25dd05,_0x16ebdc,_0x34a0fc){const _0x1f7a1b=a112_0x37fb84;return menuFailure(safeMenuAddError(_0x25dd05),redactFailurePlan(_0x16ebdc),{..._0x34a0fc,'succeeded':_0x34a0fc[_0x1f7a1b(0x18d)]?.[_0x1f7a1b(0x151)](redactFailureRecord),'failed':_0x34a0fc[_0x1f7a1b(0x143)]?redactFailureRecord(_0x34a0fc['failed']):undefined,'verification':_0x34a0fc['verification']?redactFailureRecord(_0x34a0fc[_0x1f7a1b(0x14e)]):undefined,'after':_0x34a0fc[_0x1f7a1b(0x12b)]===undefined?undefined:redactFailureValue(_0x34a0fc[_0x1f7a1b(0x12b)])});}function redactFailurePlan(_0x3825e0){const _0x4a441f=a112_0x37fb84;return{..._0x3825e0,'selector':redactFailureRecord(_0x3825e0[_0x4a441f(0x155)]),'before':redactFailureValue(_0x3825e0[_0x4a441f(0x172)]),'after':redactFailureValue(_0x3825e0[_0x4a441f(0x12b)]),'plannedActions':_0x3825e0[_0x4a441f(0x185)]?.[_0x4a441f(0x151)](_0x50e406=>({..._0x50e406,'body':redactFailureRecord(_0x50e406['body'])})),'succeeded':_0x3825e0['succeeded']['map'](redactFailureRecord),'failed':_0x3825e0[_0x4a441f(0x143)]['map'](redactFailureRecord),'verification':_0x3825e0['verification']?redactFailureRecord(_0x3825e0[_0x4a441f(0x14e)]):undefined};}function redactFailureRecord(_0x257c35){return redactFailureValue(_0x257c35);}function redactFailureValue(_0x235df7,_0x3a5044=''){const _0x36e15c=a112_0x37fb84,_0x34425d=_0x3a5044[_0x36e15c(0x106)]()[_0x36e15c(0x162)](/[^a-z0-9]/g,'');if([_0x36e15c(0x12c),_0x36e15c(0x16a),_0x36e15c(0x16f),_0x36e15c(0x138)][_0x36e15c(0x18c)](_0x34425d))return _0x36e15c(0x14f);if(Array[_0x36e15c(0x12d)](_0x235df7))return _0x235df7['map'](_0x104bf2=>redactFailureValue(_0x104bf2));if(_0x235df7&&typeof _0x235df7==='object')return Object['fromEntries'](Object[_0x36e15c(0x102)](_0x235df7)['map'](([_0x2de21b,_0x58c643])=>[_0x2de21b,redactFailureValue(_0x58c643,_0x2de21b)]));return _0x235df7;}function safeMenuAddError(_0x36894d){const _0x1216a2=a112_0x37fb84,_0x4de460=_0x36894d instanceof CliError?_0x36894d['code']:'menu_mutation_failed';switch(_0x4de460){case _0x1216a2(0x11a):return menuError(_0x4de460,_0x1216a2(0x133),'Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.');case _0x1216a2(0x10c):return menuError(_0x4de460,_0x1216a2(0x135),_0x1216a2(0x166));case _0x1216a2(0x167):return menuError(_0x4de460,'Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.',_0x1216a2(0x17e));case'menu_verification_failed':return menuError(_0x4de460,_0x1216a2(0x129),_0x1216a2(0x17e));case _0x1216a2(0x13d):return menuError(_0x4de460,'The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.',_0x1216a2(0x175));case'menu_mutation_failed':case _0x1216a2(0x12f):case _0x1216a2(0xff):case _0x1216a2(0x132):case'menu_sort_overflow':return menuError(_0x4de460,_0x1216a2(0x160),_0x1216a2(0x11c));default:return menuError(_0x1216a2(0x11f),_0x1216a2(0x160),_0x1216a2(0x11c));}}function getFailureRecord(_0x257c81){const _0x33ae39=a112_0x37fb84;if(!(_0x257c81 instanceof Error)||!(_0x33ae39(0x152)in _0x257c81))return undefined;const _0x15e89a=_0x257c81[_0x33ae39(0x152)];if(!_0x15e89a||typeof _0x15e89a!=='object')return undefined;const _0x4368e3=_0x15e89a[_0x33ae39(0x143)];if(!Array['isArray'](_0x4368e3)||!_0x4368e3[0x0]||typeof _0x4368e3[0x0]!=='object')return undefined;return _0x4368e3[0x0];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a112_0xd9f9f0=a112_0x1794;(function(_0x3877ca,_0x26368b){const _0x1554a6=a112_0x1794,_0x2cdfa2=_0x3877ca();while(!![]){try{const _0x565560=-parseInt(_0x1554a6(0xfc))/0x1*(parseInt(_0x1554a6(0xf3))/0x2)+-parseInt(_0x1554a6(0xf1))/0x3+parseInt(_0x1554a6(0x103))/0x4+parseInt(_0x1554a6(0xcd))/0x5+-parseInt(_0x1554a6(0xf7))/0x6*(parseInt(_0x1554a6(0xec))/0x7)+-parseInt(_0x1554a6(0xdf))/0x8*(-parseInt(_0x1554a6(0xd7))/0x9)+parseInt(_0x1554a6(0xcf))/0xa;if(_0x565560===_0x26368b)break;else _0x2cdfa2['push'](_0x2cdfa2['shift']());}catch(_0x2d44ad){_0x2cdfa2['push'](_0x2cdfa2['shift']());}}}(a112_0x3f8e,0x3ba7e));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{validateExternalMenuUrl}from'../../commands/menu/external-link-create.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,hasFlag,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,parseParentId,recheckMutationSnapshot,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';function a112_0x1794(_0x2eff9e,_0x2d5534){_0x2eff9e=_0x2eff9e-0xb4;const _0x3f8e09=a112_0x3f8e();let _0x179442=_0x3f8e09[_0x2eff9e];return _0x179442;}import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a112_0xd9f9f0(0xc6),'path':a112_0xd9f9f0(0xf2)}];export const menuExternalLinkUpdate={'service':'menu','command':'external-link-update','description':a112_0xd9f9f0(0xd6),'risk':a112_0xd9f9f0(0xd8),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a112_0xd9f9f0(0xcc),'type':a112_0xd9f9f0(0xea),'required':!![],'description':a112_0xd9f9f0(0x100)},{'name':a112_0xd9f9f0(0xc8),'type':a112_0xd9f9f0(0xea),'required':!![],'description':a112_0xd9f9f0(0xb8)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x43352b){validateInput(_0x43352b);},async 'dryRun'(_0x3bf8df){const _0x2b02e7=a112_0xd9f9f0;validateInput(_0x3bf8df);const _0x58ab05=await buildPlan(_0x3bf8df,!![]);return menuDryRunResult(_0x58ab05[_0x2b02e7(0x102)],{'method':'POST','url':'/smartapi/menu/update','body':_0x58ab05[_0x2b02e7(0xe6)],'description':'Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20'+_0x58ab05[_0x2b02e7(0xe6)]['id']+'.'});},async 'execute'(_0x6bc6a9){const _0x7b473d=a112_0xd9f9f0;validateInput(_0x6bc6a9);const _0x40521b=await buildPlan(_0x6bc6a9,![]),{plan:_0x17b263,body:_0x3190a9,before:_0x5cbaec,noChanges:_0x36a1ba}=_0x40521b,_0x31678b=_0x3190a9['id'];if(_0x36a1ba)return updateSuccess(_0x17b263,_0x40521b[_0x7b473d(0xd2)],_0x5cbaec,!![],![]);await recheckMutationSnapshot(_0x6bc6a9,_0x17b263,_0x7b473d(0xb5),_0x31678b);try{await updateMenuEntity(_0x6bc6a9['appCode'],_0x6bc6a9[_0x7b473d(0xbe)],{'id':_0x3190a9['id'],'url':_0x3190a9[_0x7b473d(0xcc)]});}catch(_0x4024f4){const _0x1174d7=mapMenuApiError(_0x4024f4,_0x7b473d(0xb5),_0x31678b);if(isMenuResponseLoss(_0x4024f4)&&_0x1174d7[_0x7b473d(0xf9)]!==_0x7b473d(0xc2))return recoverAfterResponseLoss(_0x6bc6a9,_0x40521b);throw menuFailure(_0x1174d7,_0x17b263,{'stage':_0x7b473d(0xb7),'failed':{'id':_0x31678b},'warnings':[_0x7b473d(0x105)],'verification':{'status':'failed','targetId':_0x31678b,'lookupCommand':buildLookupCommand(_0x6bc6a9['appCode'])}});}let _0x34e48e,_0x136f96;try{_0x34e48e=await fetchMenuSnapshot(_0x6bc6a9[_0x7b473d(0xcb)],_0x6bc6a9[_0x7b473d(0xbe)]),_0x136f96=requireMenu(_0x34e48e,_0x31678b),verifyUpdatedFact(_0x5cbaec,_0x136f96,_0x3190a9[_0x7b473d(0xcc)]);}catch(_0x1bead2){const _0x2023e6=describeMenuErrorCause(_0x1bead2,_0x7b473d(0xf8),_0x31678b),_0x2d92ec=asVerificationError(_0x1bead2,_0x7b473d(0xe4)+_0x31678b+_0x7b473d(0xdd));throw menuFailure(_0x2d92ec,_0x17b263,{'stage':'verification','succeeded':[{'id':_0x31678b,'updateRequested':!![]}],'failed':{'id':_0x31678b,'requestedStateConfirmed':![],..._0x2023e6},'warnings':['The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':_0x7b473d(0xc9),'targetId':_0x31678b,'lookupCommand':buildLookupCommand(_0x6bc6a9[_0x7b473d(0xcb)])}});}return updateSuccess(_0x17b263,_0x34e48e,_0x136f96,![],![]);}};function validateInput(_0x2f8cb8){const _0x493ef4=a112_0xd9f9f0;validateExactId(_0x2f8cb8),requiredUrl(_0x2f8cb8,_0x493ef4(0xcc)),requiredExpectedUrl(_0x2f8cb8),parseParentId(_0x2f8cb8,_0x493ef4(0xb4),{'required':!![]});}function requiredUrl(_0x35b1fe,_0x5b94cc){const _0x554e5c=a112_0xd9f9f0;if(!hasFlag(_0x35b1fe,_0x5b94cc)||!_0x35b1fe[_0x554e5c(0xf0)](_0x5b94cc)[_0x554e5c(0xed)]())throw CliErrors[_0x554e5c(0xf4)](_0x5b94cc);return validateExternalMenuUrl(_0x35b1fe[_0x554e5c(0xf0)](_0x5b94cc));}function requiredExpectedUrl(_0x44d8f){const _0x29c4b0=a112_0xd9f9f0;if(!hasFlag(_0x44d8f,'expect-url')||!_0x44d8f[_0x29c4b0(0xf0)](_0x29c4b0(0xc8))['trim']())throw CliErrors['flagMissing']('expect-url');return _0x44d8f[_0x29c4b0(0xf0)](_0x29c4b0(0xc8))[_0x29c4b0(0xed)]();}function a112_0x3f8e(){const _0x5017eb=['954nULAHr','flagMissing','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','update-recovery','209766guGGkW','verify\x20external\x20menu\x20URL\x20update','code','visible','childrenCount','417Titgqj','sort','menu_external_link_type_required','hash','New\x20external\x20HTTPS\x20URL','iframe','plan','1146588YsiwtJ','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','menu_update_recovery_required','unknown','after','\x27\x5c\x27\x27','expect-parent-id','update\x20external\x20menu\x20URL','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','update','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','type','readbackFailed','path','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','cookie','\x20could\x20not\x20be\x20verified\x20safely','\x20already\x20matches\x20the\x20requested\x20URL.','menu_external_link_path_missing','menu_permission_denied','menu\x20list','\x20has\x20','The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','POST','menu_external_link_not_leaf','expect-url','failed','link','appCode','url','934010odiQzD','Menu\x20','201440ayljxZ','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.','external-link-update','snapshot','Response\x20was\x20lost\x20and\x20menu\x20','parentId','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','25785Oatuuu','write','requestedUrlObserved','\x20parent\x20changed:\x20expected\x20','rabetbase\x20menu\x20list\x20--appcode\x20','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','Run\x20','936VXTYgY','\x20is\x20type\x20\x22','Updated\x20external\x20URL\x20for\x20menu\x20','label','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','Update\x20request\x20for\x20menu\x20','menu_state_drift','body','\x20has\x20an\x20empty\x20platform\x20path.',',\x20current\x20','update-external-link-url','string','replace','49yqJHVo','trim','\x20URL\x20update\x20did\x20not\x20take\x20effect.','get','str','422436ReyTrW','/smartapi/menu/update'];a112_0x3f8e=function(){return _0x5017eb;};return a112_0x3f8e();}async function buildPlan(_0x44fa81,_0x5333bb){const _0x297e72=a112_0xd9f9f0,_0x2c2772=validateExactId(_0x44fa81),_0x504a0f=requiredUrl(_0x44fa81,_0x297e72(0xcc)),_0x1a6933=requiredExpectedUrl(_0x44fa81),_0x42cc9b=parseParentId(_0x44fa81,_0x297e72(0xb4),{'required':!![]}),_0x252b23=await fetchMutationSnapshot(_0x44fa81,_0x297e72(0xb5),_0x2c2772),_0x2aeb6e=requireMenu(_0x252b23,_0x2c2772);assertExternalLinkLeaf(_0x2aeb6e);if(_0x2aeb6e[_0x297e72(0xd4)]!==_0x42cc9b)throw menuError('menu_state_drift','Menu\x20'+_0x2c2772+_0x297e72(0xda)+formatParent(_0x42cc9b)+_0x297e72(0xe8)+formatParent(_0x2aeb6e[_0x297e72(0xd4)])+'.',_0x297e72(0xdc));const _0x42a499=_0x2aeb6e[_0x297e72(0xcc)]===_0x504a0f;if(!_0x42a499&&_0x2aeb6e[_0x297e72(0xcc)]!==_0x1a6933)throw menuError(_0x297e72(0xe5),_0x297e72(0xce)+_0x2c2772+_0x297e72(0xb6),_0x297e72(0xbd));const _0x1e92a5={'id':_0x2c2772,'appCode':_0x44fa81[_0x297e72(0xcb)],'url':_0x504a0f},_0xee5c35={..._0x2aeb6e,'url':_0x504a0f};return{'body':_0x1e92a5,'before':_0x2aeb6e,'noChanges':_0x42a499,'snapshot':_0x252b23,'plan':mutationResult({'operation':_0x297e72(0xd1),'selector':{'id':_0x2c2772},'before':_0x2aeb6e,'after':_0xee5c35,'dryRun':_0x5333bb,'backend':[...BACKEND],'plannedActions':_0x42a499?[]:[{'stage':_0x297e72(0xe9),'method':_0x297e72(0xc6),'path':_0x297e72(0xf2),'body':_0x1e92a5}],'snapshotHash':_0x252b23[_0x297e72(0xff)],'warnings':_0x42a499?[_0x297e72(0xf5)]:[]})};}function assertExternalLinkLeaf(_0x48eeae){const _0x48cbdb=a112_0xd9f9f0;if(_0x48eeae[_0x48cbdb(0xb9)]!==_0x48cbdb(0x101)&&_0x48eeae[_0x48cbdb(0xb9)]!==_0x48cbdb(0xca))throw menuError(_0x48cbdb(0xfe),_0x48cbdb(0xce)+_0x48eeae['id']+_0x48cbdb(0xe0)+(_0x48eeae[_0x48cbdb(0xb9)]||_0x48cbdb(0x107))+'\x22,\x20not\x20iframe\x20or\x20link.',_0x48cbdb(0xbc));if(_0x48eeae['childrenCount']!==0x0)throw menuError(_0x48cbdb(0xc7),_0x48cbdb(0xce)+_0x48eeae['id']+_0x48cbdb(0xc4)+_0x48eeae[_0x48cbdb(0xfb)]+'\x20direct\x20child\x20menu(s).',_0x48cbdb(0xd0));if(!_0x48eeae[_0x48cbdb(0xbb)][_0x48cbdb(0xed)]())throw menuError(_0x48cbdb(0xc1),_0x48cbdb(0xce)+_0x48eeae['id']+_0x48cbdb(0xe7),_0x48cbdb(0x104));}function verifyUpdatedFact(_0x56d2ca,_0x1c9152,_0x2dbd16){const _0x39155e=a112_0xd9f9f0;assertExternalLinkLeaf(_0x1c9152);const _0x174b8e=[['id',_0x1c9152['id'],_0x56d2ca['id']],['label',_0x1c9152['label'],_0x56d2ca[_0x39155e(0xe2)]],[_0x39155e(0xb9),_0x1c9152['type'],_0x56d2ca['type']],[_0x39155e(0xbb),_0x1c9152[_0x39155e(0xbb)],_0x56d2ca[_0x39155e(0xbb)]],[_0x39155e(0xd4),_0x1c9152[_0x39155e(0xd4)],_0x56d2ca[_0x39155e(0xd4)]],[_0x39155e(0xfd),_0x1c9152[_0x39155e(0xfd)],_0x56d2ca[_0x39155e(0xfd)]],[_0x39155e(0xfa),_0x1c9152[_0x39155e(0xfa)],_0x56d2ca['visible']]];for(const [_0x19ac72,_0x43c566,_0x368810]of _0x174b8e){assertVerified(_0x43c566===_0x368810,_0x39155e(0xce)+_0x56d2ca['id']+'\x20'+_0x19ac72+'\x20changed\x20during\x20the\x20URL-only\x20update.');}assertVerified(_0x1c9152['url']===_0x2dbd16,'Menu\x20'+_0x56d2ca['id']+_0x39155e(0xee));}function updateSuccess(_0x15d982,_0x1357db,_0x14dc6b,_0x104525,_0xffbc46){const _0xea7d29=a112_0xd9f9f0,_0x4e3b89=_0x14dc6b['id'],_0x5b3fe9=mutationResult({..._0x15d982,'after':_0x14dc6b,'dryRun':![],'succeeded':[{'id':_0x4e3b89,'updated':!_0x104525,'skipped':_0x104525,'recovered':_0xffbc46}],'verification':{'checkedBy':_0xea7d29(0xc3),'snapshotHash':_0x1357db[_0xea7d29(0xff)],'targetId':_0x4e3b89,'matchesRequestedState':!![],'recovered':_0xffbc46}});return{'ok':!![],'message':_0xffbc46?'Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20'+_0x4e3b89+'.':_0x104525?_0xea7d29(0xce)+_0x4e3b89+_0xea7d29(0xc0):_0xea7d29(0xe1)+_0x4e3b89+'.','data':{..._0x5b3fe9,'recovered':_0xffbc46}};}async function recoverAfterResponseLoss(_0x3eba08,_0x4a39df){const _0xadfb2c=a112_0xd9f9f0,{plan:_0xed2c44,before:_0x33ac75,body:_0x112a64}=_0x4a39df;let _0x40ea31;try{_0x40ea31=await fetchMenuSnapshot(_0x3eba08[_0xadfb2c(0xcb)],_0x3eba08[_0xadfb2c(0xbe)]);}catch{throw recoveryRequired(_0xed2c44,_0x3eba08[_0xadfb2c(0xcb)],{'id':_0x112a64['id'],'readbackFailed':!![]});}const _0x5b0bd6=_0x40ea31['byId'][_0xadfb2c(0xef)](_0x112a64['id']);if(!_0x5b0bd6||_0x5b0bd6[_0xadfb2c(0xcc)]!==_0x112a64[_0xadfb2c(0xcc)])throw recoveryRequired(_0xed2c44,_0x3eba08['appCode'],{'id':_0x112a64['id'],'requestedUrlObserved':![],'after':_0x5b0bd6??null});try{verifyUpdatedFact(_0x33ac75,_0x5b0bd6,_0x112a64['url']);}catch(_0x595300){const _0x5a53dd=asVerificationError(_0x595300,_0xadfb2c(0xd3)+_0x112a64['id']+_0xadfb2c(0xbf));throw menuFailure(_0x5a53dd,_0xed2c44,{'stage':_0xadfb2c(0xf6),'succeeded':[{'id':_0x112a64['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x112a64['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x5b0bd6,'warnings':[_0xadfb2c(0xe3)],'verification':{'status':_0xadfb2c(0xc9),'targetId':_0x112a64['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x3eba08[_0xadfb2c(0xcb)])}});}return updateSuccess(_0xed2c44,_0x40ea31,_0x5b0bd6,![],!![]);}function recoveryRequired(_0x22a3fc,_0x3c3f67,_0x57437c){const _0x5cda7b=a112_0xd9f9f0,_0x5cb5f0=menuError(_0x5cda7b(0x106),_0x5cda7b(0xd5),_0x5cda7b(0xde)+buildLookupCommand(_0x3c3f67)+'\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.');return menuFailure(_0x5cb5f0,_0x22a3fc,{'stage':_0x5cda7b(0xf6),'failed':{'id':_0x57437c['id'],..._0x57437c[_0x5cda7b(0xd9)]===undefined?{}:{'requestedUrlObserved':_0x57437c['requestedUrlObserved']},..._0x57437c[_0x5cda7b(0xba)]?{'readbackFailed':!![]}:{}},'after':_0x57437c[_0x5cda7b(0x108)],'warnings':[_0x5cda7b(0xc5)],'verification':{'status':_0x5cda7b(0xc9),'targetId':_0x57437c['id'],..._0x57437c[_0x5cda7b(0xd9)]===undefined?{}:{'requestedUrlObserved':_0x57437c[_0x5cda7b(0xd9)]},..._0x57437c['readbackFailed']?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x3c3f67)}});}function buildLookupCommand(_0x4af91e){const _0x377b7a=a112_0xd9f9f0,_0x204b97='\x27'+_0x4af91e[_0x377b7a(0xeb)](/'/g,_0x377b7a(0x109))+'\x27';return _0x377b7a(0xdb)+_0x204b97+'\x20--format\x20compress';}
|
|
1
|
+
const a113_0x3814ec=a113_0x38e9;(function(_0x59552a,_0x2d6264){const _0x44da43=a113_0x38e9,_0x554d9d=_0x59552a();while(!![]){try{const _0xa78e2f=-parseInt(_0x44da43(0x188))/0x1+-parseInt(_0x44da43(0x186))/0x2*(-parseInt(_0x44da43(0x15f))/0x3)+parseInt(_0x44da43(0x16f))/0x4*(-parseInt(_0x44da43(0x164))/0x5)+parseInt(_0x44da43(0x18e))/0x6+parseInt(_0x44da43(0x149))/0x7+-parseInt(_0x44da43(0x169))/0x8+parseInt(_0x44da43(0x190))/0x9*(parseInt(_0x44da43(0x14a))/0xa);if(_0xa78e2f===_0x2d6264)break;else _0x554d9d['push'](_0x554d9d['shift']());}catch(_0x447f11){_0x554d9d['push'](_0x554d9d['shift']());}}}(a113_0x1ca8,0x6da22));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{validateExternalMenuUrl}from'../../commands/menu/external-link-create.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,hasFlag,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,parseParentId,recheckMutationSnapshot,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a113_0x3814ec(0x178),'path':'/smartapi/menu/update'}];export const menuExternalLinkUpdate={'service':'menu','command':a113_0x3814ec(0x163),'description':'Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','risk':a113_0x3814ec(0x161),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a113_0x3814ec(0x17e),'type':'string','required':!![],'description':a113_0x3814ec(0x18f)},{'name':a113_0x3814ec(0x17b),'type':'string','required':!![],'description':a113_0x3814ec(0x14b)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x8098c4){validateInput(_0x8098c4);},async 'dryRun'(_0x56e743){const _0x57f93a=a113_0x3814ec;validateInput(_0x56e743);const _0x7be771=await buildPlan(_0x56e743,!![]);return menuDryRunResult(_0x7be771[_0x57f93a(0x185)],{'method':'POST','url':_0x57f93a(0x15e),'body':_0x7be771[_0x57f93a(0x18d)],'description':_0x57f93a(0x14d)+_0x7be771[_0x57f93a(0x18d)]['id']+'.'});},async 'execute'(_0x30db4c){const _0x3e4d3b=a113_0x3814ec;validateInput(_0x30db4c);const _0x4bc311=await buildPlan(_0x30db4c,![]),{plan:_0x48799e,body:_0x61885a,before:_0x3c3b73,noChanges:_0x43483f}=_0x4bc311,_0x4cff13=_0x61885a['id'];if(_0x43483f)return updateSuccess(_0x48799e,_0x4bc311[_0x3e4d3b(0x16e)],_0x3c3b73,!![],![]);await recheckMutationSnapshot(_0x30db4c,_0x48799e,_0x3e4d3b(0x17f),_0x4cff13);try{await updateMenuEntity(_0x30db4c['appCode'],_0x30db4c['cookie'],{'id':_0x61885a['id'],'url':_0x61885a[_0x3e4d3b(0x17e)]});}catch(_0x47a0a5){const _0x161b71=mapMenuApiError(_0x47a0a5,_0x3e4d3b(0x17f),_0x4cff13);if(isMenuResponseLoss(_0x47a0a5)&&_0x161b71[_0x3e4d3b(0x16d)]!=='menu_permission_denied')return recoverAfterResponseLoss(_0x30db4c,_0x4bc311);throw menuFailure(_0x161b71,_0x48799e,{'stage':'update','failed':{'id':_0x4cff13},'warnings':[_0x3e4d3b(0x179)],'verification':{'status':_0x3e4d3b(0x146),'targetId':_0x4cff13,'lookupCommand':buildLookupCommand(_0x30db4c[_0x3e4d3b(0x17d)])}});}let _0x34c6fd,_0x4b765f;try{_0x34c6fd=await fetchMenuSnapshot(_0x30db4c[_0x3e4d3b(0x17d)],_0x30db4c[_0x3e4d3b(0x174)]),_0x4b765f=requireMenu(_0x34c6fd,_0x4cff13),verifyUpdatedFact(_0x3c3b73,_0x4b765f,_0x61885a[_0x3e4d3b(0x17e)]);}catch(_0x1f4473){const _0x5df556=describeMenuErrorCause(_0x1f4473,_0x3e4d3b(0x177),_0x4cff13),_0x4fd3e2=asVerificationError(_0x1f4473,_0x3e4d3b(0x184)+_0x4cff13+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x4fd3e2,_0x48799e,{'stage':'verification','succeeded':[{'id':_0x4cff13,'updateRequested':!![]}],'failed':{'id':_0x4cff13,'requestedStateConfirmed':![],..._0x5df556},'warnings':[_0x3e4d3b(0x17c)],'verification':{'status':_0x3e4d3b(0x146),'targetId':_0x4cff13,'lookupCommand':buildLookupCommand(_0x30db4c[_0x3e4d3b(0x17d)])}});}return updateSuccess(_0x48799e,_0x34c6fd,_0x4b765f,![],![]);}};function validateInput(_0xdc7214){const _0x39bf2c=a113_0x3814ec;validateExactId(_0xdc7214),requiredUrl(_0xdc7214,_0x39bf2c(0x17e)),requiredExpectedUrl(_0xdc7214),parseParentId(_0xdc7214,'expect-parent-id',{'required':!![]});}function requiredUrl(_0x58ca40,_0x3da12e){const _0x1dd3a7=a113_0x3814ec;if(!hasFlag(_0x58ca40,_0x3da12e)||!_0x58ca40[_0x1dd3a7(0x180)](_0x3da12e)[_0x1dd3a7(0x150)]())throw CliErrors['flagMissing'](_0x3da12e);return validateExternalMenuUrl(_0x58ca40[_0x1dd3a7(0x180)](_0x3da12e));}function requiredExpectedUrl(_0x2e7333){const _0x12738f=a113_0x3814ec;if(!hasFlag(_0x2e7333,_0x12738f(0x17b))||!_0x2e7333['str'](_0x12738f(0x17b))[_0x12738f(0x150)]())throw CliErrors[_0x12738f(0x166)](_0x12738f(0x17b));return _0x2e7333[_0x12738f(0x180)](_0x12738f(0x17b))[_0x12738f(0x150)]();}function a113_0x38e9(_0xf8ea89,_0x3509da){_0xf8ea89=_0xf8ea89-0x146;const _0x1ca83e=a113_0x1ca8();let _0x38e9c3=_0x1ca83e[_0xf8ea89];return _0x38e9c3;}function a113_0x1ca8(){const _0x586872=['The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','\x20is\x20type\x20\x22','Update\x20request\x20for\x20menu\x20','plan','608824kKWmuT','Run\x20','434724ugfWkE','menu\x20list','menu_state_drift','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','\x22,\x20not\x20iframe\x20or\x20link.','body','2254128XTaBDz','New\x20external\x20HTTPS\x20URL','18585FiIAvp','\x20changed\x20during\x20the\x20URL-only\x20update.','failed','link','childrenCount','2650452jNjeQf','1770AstMOL','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','byId','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','type','replace','trim','\x20has\x20an\x20empty\x20platform\x20path.','requestedUrlObserved','menu_external_link_path_missing','parentId','menu_external_link_not_leaf','rabetbase\x20menu\x20list\x20--appcode\x20','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','menu_external_link_type_required','\x20parent\x20changed:\x20expected\x20','get',',\x20current\x20','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','\x20--format\x20compress','/smartapi/menu/update','3YKFPtf','\x20already\x20matches\x20the\x20requested\x20URL.','write','hash','external-link-update','1315MltIYS','\x20has\x20','flagMissing','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','955168wcNsTO','update-recovery','Menu\x20','label','code','snapshot','6404fMgMMv','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','sort','\x20URL\x20update\x20did\x20not\x20take\x20effect.','\x20direct\x20child\x20menu(s).','cookie','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','verify\x20external\x20menu\x20URL\x20update','POST','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','readbackFailed','expect-url','The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','appCode','url','update\x20external\x20menu\x20URL','str','path'];a113_0x1ca8=function(){return _0x586872;};return a113_0x1ca8();}async function buildPlan(_0x574add,_0x1525bf){const _0x260b7e=a113_0x3814ec,_0x78ff5c=validateExactId(_0x574add),_0x364675=requiredUrl(_0x574add,_0x260b7e(0x17e)),_0x222aa8=requiredExpectedUrl(_0x574add),_0x2612b2=parseParentId(_0x574add,'expect-parent-id',{'required':!![]}),_0x48a701=await fetchMutationSnapshot(_0x574add,'update\x20external\x20menu\x20URL',_0x78ff5c),_0x4afb9a=requireMenu(_0x48a701,_0x78ff5c);assertExternalLinkLeaf(_0x4afb9a);if(_0x4afb9a[_0x260b7e(0x154)]!==_0x2612b2)throw menuError(_0x260b7e(0x18a),_0x260b7e(0x16b)+_0x78ff5c+_0x260b7e(0x159)+formatParent(_0x2612b2)+_0x260b7e(0x15b)+formatParent(_0x4afb9a[_0x260b7e(0x154)])+'.',_0x260b7e(0x18b));const _0x24f1e1=_0x4afb9a[_0x260b7e(0x17e)]===_0x364675;if(!_0x24f1e1&&_0x4afb9a[_0x260b7e(0x17e)]!==_0x222aa8)throw menuError('menu_state_drift',_0x260b7e(0x16b)+_0x78ff5c+_0x260b7e(0x157),_0x260b7e(0x176));const _0x3c263d={'id':_0x78ff5c,'appCode':_0x574add[_0x260b7e(0x17d)],'url':_0x364675},_0x316d67={..._0x4afb9a,'url':_0x364675};return{'body':_0x3c263d,'before':_0x4afb9a,'noChanges':_0x24f1e1,'snapshot':_0x48a701,'plan':mutationResult({'operation':_0x260b7e(0x163),'selector':{'id':_0x78ff5c},'before':_0x4afb9a,'after':_0x316d67,'dryRun':_0x1525bf,'backend':[...BACKEND],'plannedActions':_0x24f1e1?[]:[{'stage':'update-external-link-url','method':_0x260b7e(0x178),'path':_0x260b7e(0x15e),'body':_0x3c263d}],'snapshotHash':_0x48a701[_0x260b7e(0x162)],'warnings':_0x24f1e1?[_0x260b7e(0x15c)]:[]})};}function assertExternalLinkLeaf(_0x41a454){const _0x41e681=a113_0x3814ec;if(_0x41a454[_0x41e681(0x14e)]!=='iframe'&&_0x41a454[_0x41e681(0x14e)]!==_0x41e681(0x147))throw menuError(_0x41e681(0x158),'Menu\x20'+_0x41a454['id']+_0x41e681(0x183)+(_0x41a454[_0x41e681(0x14e)]||'unknown')+_0x41e681(0x18c),'Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.');if(_0x41a454['childrenCount']!==0x0)throw menuError(_0x41e681(0x155),'Menu\x20'+_0x41a454['id']+_0x41e681(0x165)+_0x41a454[_0x41e681(0x148)]+_0x41e681(0x173),_0x41e681(0x175));if(!_0x41a454[_0x41e681(0x181)]['trim']())throw menuError(_0x41e681(0x153),_0x41e681(0x16b)+_0x41a454['id']+_0x41e681(0x151),'Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.');}function verifyUpdatedFact(_0x1023f6,_0x1718d3,_0xac2760){const _0xbfd7b6=a113_0x3814ec;assertExternalLinkLeaf(_0x1718d3);const _0x994866=[['id',_0x1718d3['id'],_0x1023f6['id']],[_0xbfd7b6(0x16c),_0x1718d3[_0xbfd7b6(0x16c)],_0x1023f6[_0xbfd7b6(0x16c)]],[_0xbfd7b6(0x14e),_0x1718d3['type'],_0x1023f6[_0xbfd7b6(0x14e)]],[_0xbfd7b6(0x181),_0x1718d3[_0xbfd7b6(0x181)],_0x1023f6[_0xbfd7b6(0x181)]],[_0xbfd7b6(0x154),_0x1718d3[_0xbfd7b6(0x154)],_0x1023f6['parentId']],['sort',_0x1718d3[_0xbfd7b6(0x171)],_0x1023f6['sort']],['visible',_0x1718d3['visible'],_0x1023f6['visible']]];for(const [_0x590cb6,_0x423c43,_0x5df697]of _0x994866){assertVerified(_0x423c43===_0x5df697,_0xbfd7b6(0x16b)+_0x1023f6['id']+'\x20'+_0x590cb6+_0xbfd7b6(0x191));}assertVerified(_0x1718d3['url']===_0xac2760,'Menu\x20'+_0x1023f6['id']+_0xbfd7b6(0x172));}function updateSuccess(_0x2bc7d7,_0x6b9636,_0x60ceba,_0x38466f,_0x1a83ce){const _0x365f4e=a113_0x3814ec,_0x278e32=_0x60ceba['id'],_0x5c5f6e=mutationResult({..._0x2bc7d7,'after':_0x60ceba,'dryRun':![],'succeeded':[{'id':_0x278e32,'updated':!_0x38466f,'skipped':_0x38466f,'recovered':_0x1a83ce}],'verification':{'checkedBy':_0x365f4e(0x189),'snapshotHash':_0x6b9636[_0x365f4e(0x162)],'targetId':_0x278e32,'matchesRequestedState':!![],'recovered':_0x1a83ce}});return{'ok':!![],'message':_0x1a83ce?_0x365f4e(0x167)+_0x278e32+'.':_0x38466f?'Menu\x20'+_0x278e32+_0x365f4e(0x160):'Updated\x20external\x20URL\x20for\x20menu\x20'+_0x278e32+'.','data':{..._0x5c5f6e,'recovered':_0x1a83ce}};}async function recoverAfterResponseLoss(_0x1c765a,_0x2b3ce9){const _0x5bb086=a113_0x3814ec,{plan:_0x395fa4,before:_0x579812,body:_0x3c0b56}=_0x2b3ce9;let _0x1f52e0;try{_0x1f52e0=await fetchMenuSnapshot(_0x1c765a['appCode'],_0x1c765a[_0x5bb086(0x174)]);}catch{throw recoveryRequired(_0x395fa4,_0x1c765a[_0x5bb086(0x17d)],{'id':_0x3c0b56['id'],'readbackFailed':!![]});}const _0x26f69c=_0x1f52e0[_0x5bb086(0x14c)][_0x5bb086(0x15a)](_0x3c0b56['id']);if(!_0x26f69c||_0x26f69c['url']!==_0x3c0b56['url'])throw recoveryRequired(_0x395fa4,_0x1c765a[_0x5bb086(0x17d)],{'id':_0x3c0b56['id'],'requestedUrlObserved':![],'after':_0x26f69c??null});try{verifyUpdatedFact(_0x579812,_0x26f69c,_0x3c0b56['url']);}catch(_0x4add9d){const _0x3869d7=asVerificationError(_0x4add9d,'Response\x20was\x20lost\x20and\x20menu\x20'+_0x3c0b56['id']+'\x20could\x20not\x20be\x20verified\x20safely');throw menuFailure(_0x3869d7,_0x395fa4,{'stage':_0x5bb086(0x16a),'succeeded':[{'id':_0x3c0b56['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x3c0b56['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x26f69c,'warnings':[_0x5bb086(0x168)],'verification':{'status':'failed','targetId':_0x3c0b56['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x1c765a['appCode'])}});}return updateSuccess(_0x395fa4,_0x1f52e0,_0x26f69c,![],!![]);}function recoveryRequired(_0x5eb0e9,_0x48d20d,_0x1b086c){const _0x589f35=a113_0x3814ec,_0x53b6ba=menuError('menu_update_recovery_required',_0x589f35(0x182),_0x589f35(0x187)+buildLookupCommand(_0x48d20d)+_0x589f35(0x170));return menuFailure(_0x53b6ba,_0x5eb0e9,{'stage':_0x589f35(0x16a),'failed':{'id':_0x1b086c['id'],..._0x1b086c[_0x589f35(0x152)]===undefined?{}:{'requestedUrlObserved':_0x1b086c[_0x589f35(0x152)]},..._0x1b086c['readbackFailed']?{'readbackFailed':!![]}:{}},'after':_0x1b086c['after'],'warnings':['The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.'],'verification':{'status':_0x589f35(0x146),'targetId':_0x1b086c['id'],..._0x1b086c[_0x589f35(0x152)]===undefined?{}:{'requestedUrlObserved':_0x1b086c['requestedUrlObserved']},..._0x1b086c[_0x589f35(0x17a)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x48d20d)}});}function buildLookupCommand(_0x117101){const _0x18597b=a113_0x3814ec,_0x2494ba='\x27'+_0x117101[_0x18597b(0x14f)](/'/g,'\x27\x5c\x27\x27')+'\x27';return _0x18597b(0x156)+_0x2494ba+_0x18597b(0x15d);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a113_0x57d9(){const _0x53396a=['menu_create_response_invalid','cookie','menu\x20list','Created\x20folder\x20','\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract','\x20has\x20an\x20unexpected\x20sort.','label','POST',';\x20verify\x20it\x20before\x20retrying.','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','\x20has\x20resources.','<platform-generated>','Would\x20create\x20empty\x20folder\x20\x22','write','group-create','sort','parentId','trim','isSafeInteger','\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.','\x20has\x20an\x20unexpected\x20label.','flagMissing','31224sgJBXW','childrenCount','3436pewKkv','hash','26265967NWwpiZ','1281WvhrhI','get','\x20is\x20missing\x20from\x20menu\x20list.','12OmhyZN','menu','after','byId','Created\x20menu\x20folder\x20','appCode','create\x20folder','Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','Created\x20menu\x20','rabetbase\x20menu\x20list\x20--format\x20json','The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','visible','root','verify\x20folder\x20creation','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','resources','type','3108879DDuGVe','\x20is\x20not\x20empty.','391795TZAPSI','verification','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.','path','27246WOIrxm','string','387FqvqvP','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','\x20has\x20unexpected\x20parent\x20','parent-id','Menu\x20create\x20response\x20for\x20folder\x20','\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts','failed','create','/smartapi/menu/create','\x20is\x20not\x20type\x20folder.','depth','Folder\x20label','folder','\x20may\x20exist\x20online\x20at\x20path\x20','2497biqEQp','20DpCImq','Folder\x20','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','create-response-validation','80ymeAYu','45048bbtQTr','str'];a113_0x57d9=function(){return _0x53396a;};return a113_0x57d9();}const a113_0x2be8a4=a113_0x2cb3;(function(_0xa826ec,_0x27e810){const _0x523c9b=a113_0x2cb3,_0xeffcbf=_0xa826ec();while(!![]){try{const _0x385aa6=parseInt(_0x523c9b(0x18c))/0x1*(parseInt(_0x523c9b(0x177))/0x2)+-parseInt(_0x523c9b(0x179))/0x3*(-parseInt(_0x523c9b(0x159))/0x4)+parseInt(_0x523c9b(0x172))/0x5*(-parseInt(_0x523c9b(0x15f))/0x6)+parseInt(_0x523c9b(0x15c))/0x7*(-parseInt(_0x523c9b(0x1a5))/0x8)+-parseInt(_0x523c9b(0x170))/0x9*(parseInt(_0x523c9b(0x188))/0xa)+parseInt(_0x523c9b(0x187))/0xb*(-parseInt(_0x523c9b(0x18d))/0xc)+parseInt(_0x523c9b(0x15b))/0xd;if(_0x385aa6===_0x27e810)break;else _0xeffcbf['push'](_0xeffcbf['shift']());}catch(_0x3134ce){_0xeffcbf['push'](_0xeffcbf['shift']());}}}(a113_0x57d9,0xc50d3));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a113_0x2cb3(_0x151401,_0x1fafb8){_0x151401=_0x151401-0x158;const _0x57d97f=a113_0x57d9();let _0x2cb379=_0x57d97f[_0x151401];return _0x2cb379;}import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':'POST','path':a113_0x2be8a4(0x181)}];export const menuGroupCreate={'service':a113_0x2be8a4(0x160),'command':a113_0x2be8a4(0x19d),'description':a113_0x2be8a4(0x166),'risk':a113_0x2be8a4(0x19c),'structuredErrors':!![],'flags':[{'name':a113_0x2be8a4(0x195),'type':a113_0x2be8a4(0x178),'required':!![],'description':a113_0x2be8a4(0x184)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x9b6773){validateCreateInput(_0x9b6773);},async 'dryRun'(_0x30d933){const _0x129ebb=a113_0x2be8a4,_0xee5a95=await buildCreatePlan(_0x30d933,!![]),_0x58a2ee=_0xee5a95[_0x129ebb(0x161)];return menuDryRunResult(_0xee5a95,{'method':_0x129ebb(0x196),'url':'/smartapi/menu/create','body':{'parentId':toApiParentId(_0x58a2ee[_0x129ebb(0x19f)]),'label':_0x58a2ee[_0x129ebb(0x195)],'type':'folder','visible':!![],'sort':_0x58a2ee[_0x129ebb(0x19e)],'extend':{}},'description':_0x129ebb(0x19b)+String(_0x58a2ee[_0x129ebb(0x195)])+'\x22\x20with\x20a\x20platform-generated\x20path.'});},async 'execute'(_0x3d16c0){const _0x3e8ec0=a113_0x2be8a4;validateCreateInput(_0x3d16c0);const _0x452e6f=await buildCreatePlan(_0x3d16c0,![]),_0x37ae49=_0x452e6f[_0x3e8ec0(0x161)];await recheckMutationSnapshot(_0x3d16c0,_0x452e6f,_0x3e8ec0(0x165));let _0x2a4216;try{_0x2a4216=await createMenuEntity(_0x3d16c0[_0x3e8ec0(0x164)],_0x3d16c0[_0x3e8ec0(0x190)],{'parentId':toApiParentId(_0x37ae49['parentId']),'label':String(_0x37ae49['label']),'type':_0x3e8ec0(0x185),'visible':!![],'sort':Number(_0x37ae49[_0x3e8ec0(0x19e)]),'extend':{}});}catch(_0x117794){const _0xa4316=mapMenuApiError(_0x117794,_0x3e8ec0(0x165));throw menuFailure(_0xa4316,_0x452e6f,{'stage':_0x3e8ec0(0x180),'failed':{}});}const _0x5461fa=Number(_0x2a4216['id']);if(!Number[_0x3e8ec0(0x1a1)](_0x5461fa)||_0x5461fa<=0x0){const _0x22e8ec=menuError('menu_create_response_invalid',_0x3e8ec0(0x17a),_0x3e8ec0(0x18a));throw menuFailure(_0x22e8ec,_0x452e6f,{'stage':_0x3e8ec0(0x18b),'failed':{'createdId':_0x2a4216['id']??null},'warnings':[_0x3e8ec0(0x16d)],'verification':{'status':_0x3e8ec0(0x17f),'lookupCommand':_0x3e8ec0(0x168)}});}const _0x12641a=typeof _0x2a4216['path']===_0x3e8ec0(0x178)?_0x2a4216[_0x3e8ec0(0x176)]:'';if(!_0x12641a[_0x3e8ec0(0x1a0)]()){const _0x589714=menuError(_0x3e8ec0(0x18f),_0x3e8ec0(0x17d)+_0x5461fa+_0x3e8ec0(0x198),_0x3e8ec0(0x175));throw menuFailure(_0x589714,_0x452e6f,{'stage':_0x3e8ec0(0x18b),'succeeded':[{'id':_0x5461fa,'created':!![]}],'failed':{'id':_0x5461fa,'generatedPathConfirmed':![]},'warnings':[_0x3e8ec0(0x189)+_0x5461fa+_0x3e8ec0(0x1a2)],'after':{..._0x37ae49,'id':_0x5461fa,'path':_0x12641a},'verification':{'status':_0x3e8ec0(0x17f),'lookupCommand':_0x3e8ec0(0x168),'targetId':_0x5461fa}});}let _0x20d0da;try{_0x20d0da=await fetchMenuSnapshot(_0x3d16c0[_0x3e8ec0(0x164)],_0x3d16c0[_0x3e8ec0(0x190)]);}catch(_0x40dfbe){const _0x27d0fb=describeMenuErrorCause(_0x40dfbe,_0x3e8ec0(0x16c),_0x5461fa),_0x4c1e9e=asVerificationError(_0x40dfbe,_0x3e8ec0(0x189)+_0x5461fa+_0x3e8ec0(0x17e));throw menuFailure(_0x4c1e9e,_0x452e6f,{'stage':_0x3e8ec0(0x173),'succeeded':[{'id':_0x5461fa,'created':!![],'path':_0x12641a}],'failed':{'id':_0x5461fa,'finalFactsConfirmed':![],..._0x27d0fb},'warnings':[_0x3e8ec0(0x189)+_0x5461fa+_0x3e8ec0(0x186)+JSON['stringify'](_0x12641a)+_0x3e8ec0(0x197)],'after':{..._0x37ae49,'id':_0x5461fa,'path':_0x12641a},'verification':{'status':'failed','lookupCommand':_0x3e8ec0(0x168),'targetId':_0x5461fa}});}const _0x4c9af7=_0x20d0da[_0x3e8ec0(0x162)][_0x3e8ec0(0x15d)](_0x5461fa);let _0x20abf5;try{assertVerified(Boolean(_0x4c9af7),_0x3e8ec0(0x192)+_0x5461fa+_0x3e8ec0(0x15e)),_0x20abf5=_0x4c9af7,assertVerified(_0x20abf5[_0x3e8ec0(0x16f)]==='folder',_0x3e8ec0(0x167)+_0x5461fa+_0x3e8ec0(0x182)),assertVerified(_0x20abf5[_0x3e8ec0(0x195)]===_0x37ae49['label'],_0x3e8ec0(0x192)+_0x5461fa+_0x3e8ec0(0x1a3)),assertVerified(_0x20abf5[_0x3e8ec0(0x176)]===_0x12641a&&Boolean(_0x20abf5['path'][_0x3e8ec0(0x1a0)]()),_0x3e8ec0(0x192)+_0x5461fa+'\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.'),assertVerified(_0x20abf5[_0x3e8ec0(0x16a)]===!![],'Created\x20folder\x20'+_0x5461fa+'\x20is\x20not\x20visible.'),assertVerified(_0x20abf5[_0x3e8ec0(0x16e)]['length']===0x0,_0x3e8ec0(0x192)+_0x5461fa+_0x3e8ec0(0x199)),assertVerified(_0x20abf5[_0x3e8ec0(0x158)]===0x0,_0x3e8ec0(0x192)+_0x5461fa+_0x3e8ec0(0x171)),assertVerified(_0x20abf5['sort']===_0x37ae49['sort'],_0x3e8ec0(0x192)+_0x5461fa+_0x3e8ec0(0x194)),assertVerified(_0x20abf5[_0x3e8ec0(0x19f)]===_0x37ae49['parentId'],'Created\x20folder\x20'+_0x5461fa+_0x3e8ec0(0x17b)+(_0x20abf5[_0x3e8ec0(0x19f)]??_0x3e8ec0(0x16b))+'.'),assertVerified(_0x20abf5['pageId']==null,'Created\x20folder\x20'+_0x5461fa+'\x20unexpectedly\x20owns\x20a\x20page.');const _0x4b3d27=_0x20abf5[_0x3e8ec0(0x19f)]==null?undefined:requireFolder(_0x20d0da,_0x20abf5['parentId']);assertVerified(_0x20abf5[_0x3e8ec0(0x183)]===(_0x4b3d27?_0x4b3d27[_0x3e8ec0(0x183)]+0x1:0x0),_0x3e8ec0(0x192)+_0x5461fa+_0x3e8ec0(0x174));}catch(_0x238d2e){const _0x519124=describeMenuErrorCause(_0x238d2e,_0x3e8ec0(0x16c),_0x5461fa),_0x2c9233=asVerificationError(_0x238d2e,'Folder\x20'+_0x5461fa+_0x3e8ec0(0x193));throw menuFailure(_0x2c9233,_0x452e6f,{'stage':_0x3e8ec0(0x173),'succeeded':[{'id':_0x5461fa,'created':!![],'path':_0x12641a}],'failed':{'id':_0x5461fa,'finalFactsConfirmed':![],..._0x519124},'warnings':[_0x3e8ec0(0x189)+_0x5461fa+'\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.'],'after':_0x4c9af7??{..._0x37ae49,'id':_0x5461fa,'path':_0x12641a},'verification':{'status':_0x3e8ec0(0x17f),'lookupCommand':_0x3e8ec0(0x168),'targetId':_0x5461fa}});}const _0x1ceefb=mutationResult({..._0x452e6f,'after':_0x20abf5,'dryRun':![],'succeeded':[{'id':_0x5461fa,'type':_0x3e8ec0(0x185),'path':_0x12641a}],'verification':{'checkedBy':_0x3e8ec0(0x191),'snapshotHash':_0x20d0da[_0x3e8ec0(0x15a)],'folder':!![],'path':_0x12641a,'emptyResources':!![]}});return{'ok':!![],'data':_0x1ceefb,'message':_0x3e8ec0(0x163)+_0x5461fa+'.'};}};function validateCreateInput(_0x17ca43){const _0xef069c=a113_0x2be8a4,_0x509a73=_0x17ca43[_0xef069c(0x18e)](_0xef069c(0x195))[_0xef069c(0x1a0)]();if(!_0x509a73)throw CliErrors[_0xef069c(0x1a4)](_0xef069c(0x195));parseParentId(_0x17ca43,_0xef069c(0x17c)),validateSort(_0x17ca43);}async function buildCreatePlan(_0x5d52af,_0x4109cc){const _0x4c45dd=a113_0x2be8a4,_0x331c4f=await fetchMutationSnapshot(_0x5d52af,_0x4c45dd(0x165)),_0x1abf63=parseParentId(_0x5d52af,_0x4c45dd(0x17c))??null;if(_0x1abf63!=null)requireFolder(_0x331c4f,_0x1abf63);const _0x3eb14f=validateSort(_0x5d52af),_0x3724f2=_0x3eb14f??nextSiblingSort(_0x331c4f,_0x1abf63,_0x4c45dd(0x185)),_0x2f9c62=_0x5d52af[_0x4c45dd(0x18e)]('label')[_0x4c45dd(0x1a0)]();return mutationResult({'operation':_0x4c45dd(0x19d),'selector':{'label':_0x2f9c62,'parentId':_0x1abf63},'before':null,'after':{'id':null,'parentId':_0x1abf63,'label':_0x2f9c62,'path':_0x4c45dd(0x19a),'type':_0x4c45dd(0x185),'visible':!![],'sort':_0x3724f2,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x4109cc,'backend':[...BACKEND],'plannedActions':[{'stage':'create-folder','method':_0x4c45dd(0x196),'path':'/smartapi/menu/create','body':{'parentId':toApiParentId(_0x1abf63),'label':_0x2f9c62,'type':'folder','visible':!![],'sort':_0x3724f2,'extend':{}}}],'snapshotHash':_0x331c4f[_0x4c45dd(0x15a)],'warnings':[_0x4c45dd(0x169)]});}
|
|
1
|
+
const a114_0x204f54=a114_0x4d2e;(function(_0x5036d9,_0x5b163e){const _0x12edc2=a114_0x4d2e,_0x2840f6=_0x5036d9();while(!![]){try{const _0x3260db=-parseInt(_0x12edc2(0x17f))/0x1*(parseInt(_0x12edc2(0x16b))/0x2)+-parseInt(_0x12edc2(0x18e))/0x3+parseInt(_0x12edc2(0x18a))/0x4*(-parseInt(_0x12edc2(0x182))/0x5)+parseInt(_0x12edc2(0x180))/0x6*(-parseInt(_0x12edc2(0x186))/0x7)+parseInt(_0x12edc2(0x194))/0x8+parseInt(_0x12edc2(0x17e))/0x9+parseInt(_0x12edc2(0x195))/0xa*(parseInt(_0x12edc2(0x184))/0xb);if(_0x3260db===_0x5b163e)break;else _0x2840f6['push'](_0x2840f6['shift']());}catch(_0x13005f){_0x2840f6['push'](_0x2840f6['shift']());}}}(a114_0x32a8,0x9500c));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a114_0x4d2e(_0x333a02,_0x49d556){_0x333a02=_0x333a02-0x15b;const _0x32a882=a114_0x32a8();let _0x4d2e74=_0x32a882[_0x333a02];return _0x4d2e74;}import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a114_0x204f54(0x15b),'path':a114_0x204f54(0x19a)}];function a114_0x32a8(){const _0x33c6a5=['Menu\x20create\x20response\x20for\x20folder\x20','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','Created\x20menu\x20','failed','get','write','Folder\x20','label','cookie','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.','pageId','verify\x20folder\x20creation','sort','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','\x20is\x20not\x20type\x20folder.','7999911OUhTMv','1dLprLV','12vXGVxD','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','20shHDLF','menu_create_response_invalid','264mjFBbC','group-create','845684ToiwYX','str','\x20has\x20an\x20unexpected\x20label.','visible','170372FLnCFL','Created\x20menu\x20folder\x20','\x20is\x20not\x20empty.','\x20is\x20missing\x20from\x20menu\x20list.','1665324qggoim','rabetbase\x20menu\x20list\x20--format\x20json','byId','path','stringify','parentId','2144464xEoqOW','433660FcEwLa','\x20has\x20an\x20unexpected\x20sort.','length','create\x20folder','\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts','/smartapi/menu/create','after','hash','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','POST','depth','appCode','\x20has\x20resources.','Created\x20folder\x20','flagMissing','\x22\x20with\x20a\x20platform-generated\x20path.','The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','folder','\x20is\x20not\x20visible.','trim','isSafeInteger','string','parent-id','create-response-validation','verification','1240602TKTvuy','Would\x20create\x20empty\x20folder\x20\x22','\x20may\x20exist\x20online\x20at\x20path\x20','childrenCount'];a114_0x32a8=function(){return _0x33c6a5;};return a114_0x32a8();}export const menuGroupCreate={'service':'menu','command':a114_0x204f54(0x185),'description':'Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','risk':a114_0x204f54(0x174),'structuredErrors':!![],'flags':[{'name':a114_0x204f54(0x176),'type':'string','required':!![],'description':'Folder\x20label'},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x434695){validateCreateInput(_0x434695);},async 'dryRun'(_0x4a26a4){const _0x55a79c=a114_0x204f54,_0x35cefa=await buildCreatePlan(_0x4a26a4,!![]),_0x37e05d=_0x35cefa[_0x55a79c(0x19b)];return menuDryRunResult(_0x35cefa,{'method':_0x55a79c(0x15b),'url':_0x55a79c(0x19a),'body':{'parentId':toApiParentId(_0x37e05d['parentId']),'label':_0x37e05d['label'],'type':'folder','visible':!![],'sort':_0x37e05d[_0x55a79c(0x17b)],'extend':{}},'description':_0x55a79c(0x16c)+String(_0x37e05d['label'])+_0x55a79c(0x161)});},async 'execute'(_0x10ba8c){const _0x3bb3c6=a114_0x204f54;validateCreateInput(_0x10ba8c);const _0x3e1e64=await buildCreatePlan(_0x10ba8c,![]),_0x2adbae=_0x3e1e64[_0x3bb3c6(0x19b)];await recheckMutationSnapshot(_0x10ba8c,_0x3e1e64,_0x3bb3c6(0x198));let _0x4d06ce;try{_0x4d06ce=await createMenuEntity(_0x10ba8c[_0x3bb3c6(0x15d)],_0x10ba8c['cookie'],{'parentId':toApiParentId(_0x2adbae[_0x3bb3c6(0x193)]),'label':String(_0x2adbae[_0x3bb3c6(0x176)]),'type':_0x3bb3c6(0x163),'visible':!![],'sort':Number(_0x2adbae[_0x3bb3c6(0x17b)]),'extend':{}});}catch(_0x113ffc){const _0x179786=mapMenuApiError(_0x113ffc,_0x3bb3c6(0x198));throw menuFailure(_0x179786,_0x3e1e64,{'stage':'create','failed':{}});}const _0x37f174=Number(_0x4d06ce['id']);if(!Number[_0x3bb3c6(0x166)](_0x37f174)||_0x37f174<=0x0){const _0x28a8d5=menuError('menu_create_response_invalid',_0x3bb3c6(0x17c),_0x3bb3c6(0x19d));throw menuFailure(_0x28a8d5,_0x3e1e64,{'stage':_0x3bb3c6(0x169),'failed':{'createdId':_0x4d06ce['id']??null},'warnings':['The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.'],'verification':{'status':_0x3bb3c6(0x172),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json'}});}const _0x48cf71=typeof _0x4d06ce['path']===_0x3bb3c6(0x167)?_0x4d06ce[_0x3bb3c6(0x191)]:'';if(!_0x48cf71['trim']()){const _0x3e4a81=menuError(_0x3bb3c6(0x183),_0x3bb3c6(0x16f)+_0x37f174+_0x3bb3c6(0x170),'Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.');throw menuFailure(_0x3e4a81,_0x3e1e64,{'stage':'create-response-validation','succeeded':[{'id':_0x37f174,'created':!![]}],'failed':{'id':_0x37f174,'generatedPathConfirmed':![]},'warnings':[_0x3bb3c6(0x175)+_0x37f174+'\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.'],'after':{..._0x2adbae,'id':_0x37f174,'path':_0x48cf71},'verification':{'status':_0x3bb3c6(0x172),'lookupCommand':_0x3bb3c6(0x18f),'targetId':_0x37f174}});}let _0x1fa356;try{_0x1fa356=await fetchMenuSnapshot(_0x10ba8c[_0x3bb3c6(0x15d)],_0x10ba8c[_0x3bb3c6(0x177)]);}catch(_0x5e1d78){const _0x2c577a=describeMenuErrorCause(_0x5e1d78,_0x3bb3c6(0x17a),_0x37f174),_0x191eaa=asVerificationError(_0x5e1d78,_0x3bb3c6(0x175)+_0x37f174+_0x3bb3c6(0x199));throw menuFailure(_0x191eaa,_0x3e1e64,{'stage':'verification','succeeded':[{'id':_0x37f174,'created':!![],'path':_0x48cf71}],'failed':{'id':_0x37f174,'finalFactsConfirmed':![],..._0x2c577a},'warnings':[_0x3bb3c6(0x175)+_0x37f174+_0x3bb3c6(0x16d)+JSON[_0x3bb3c6(0x192)](_0x48cf71)+';\x20verify\x20it\x20before\x20retrying.'],'after':{..._0x2adbae,'id':_0x37f174,'path':_0x48cf71},'verification':{'status':'failed','lookupCommand':_0x3bb3c6(0x18f),'targetId':_0x37f174}});}const _0x2c22b7=_0x1fa356[_0x3bb3c6(0x190)][_0x3bb3c6(0x173)](_0x37f174);let _0x5d2dab;try{assertVerified(Boolean(_0x2c22b7),_0x3bb3c6(0x15f)+_0x37f174+_0x3bb3c6(0x18d)),_0x5d2dab=_0x2c22b7,assertVerified(_0x5d2dab['type']==='folder',_0x3bb3c6(0x171)+_0x37f174+_0x3bb3c6(0x17d)),assertVerified(_0x5d2dab['label']===_0x2adbae[_0x3bb3c6(0x176)],'Created\x20folder\x20'+_0x37f174+_0x3bb3c6(0x188)),assertVerified(_0x5d2dab['path']===_0x48cf71&&Boolean(_0x5d2dab[_0x3bb3c6(0x191)]['trim']()),_0x3bb3c6(0x15f)+_0x37f174+_0x3bb3c6(0x181)),assertVerified(_0x5d2dab[_0x3bb3c6(0x189)]===!![],_0x3bb3c6(0x15f)+_0x37f174+_0x3bb3c6(0x164)),assertVerified(_0x5d2dab['resources'][_0x3bb3c6(0x197)]===0x0,_0x3bb3c6(0x15f)+_0x37f174+_0x3bb3c6(0x15e)),assertVerified(_0x5d2dab[_0x3bb3c6(0x16e)]===0x0,_0x3bb3c6(0x15f)+_0x37f174+_0x3bb3c6(0x18c)),assertVerified(_0x5d2dab[_0x3bb3c6(0x17b)]===_0x2adbae[_0x3bb3c6(0x17b)],_0x3bb3c6(0x15f)+_0x37f174+_0x3bb3c6(0x196)),assertVerified(_0x5d2dab[_0x3bb3c6(0x193)]===_0x2adbae['parentId'],_0x3bb3c6(0x15f)+_0x37f174+'\x20has\x20unexpected\x20parent\x20'+(_0x5d2dab['parentId']??'root')+'.'),assertVerified(_0x5d2dab[_0x3bb3c6(0x179)]==null,'Created\x20folder\x20'+_0x37f174+'\x20unexpectedly\x20owns\x20a\x20page.');const _0x3eb61b=_0x5d2dab['parentId']==null?undefined:requireFolder(_0x1fa356,_0x5d2dab[_0x3bb3c6(0x193)]);assertVerified(_0x5d2dab[_0x3bb3c6(0x15c)]===(_0x3eb61b?_0x3eb61b[_0x3bb3c6(0x15c)]+0x1:0x0),_0x3bb3c6(0x15f)+_0x37f174+_0x3bb3c6(0x178));}catch(_0x22deda){const _0x1cd76c=describeMenuErrorCause(_0x22deda,_0x3bb3c6(0x17a),_0x37f174),_0x1d397b=asVerificationError(_0x22deda,_0x3bb3c6(0x175)+_0x37f174+'\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract');throw menuFailure(_0x1d397b,_0x3e1e64,{'stage':_0x3bb3c6(0x16a),'succeeded':[{'id':_0x37f174,'created':!![],'path':_0x48cf71}],'failed':{'id':_0x37f174,'finalFactsConfirmed':![],..._0x1cd76c},'warnings':[_0x3bb3c6(0x175)+_0x37f174+'\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.'],'after':_0x2c22b7??{..._0x2adbae,'id':_0x37f174,'path':_0x48cf71},'verification':{'status':_0x3bb3c6(0x172),'lookupCommand':_0x3bb3c6(0x18f),'targetId':_0x37f174}});}const _0x220cb5=mutationResult({..._0x3e1e64,'after':_0x5d2dab,'dryRun':![],'succeeded':[{'id':_0x37f174,'type':_0x3bb3c6(0x163),'path':_0x48cf71}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x1fa356['hash'],'folder':!![],'path':_0x48cf71,'emptyResources':!![]}});return{'ok':!![],'data':_0x220cb5,'message':_0x3bb3c6(0x18b)+_0x37f174+'.'};}};function validateCreateInput(_0x2e018a){const _0x23ef79=a114_0x204f54,_0x36f1d0=_0x2e018a[_0x23ef79(0x187)](_0x23ef79(0x176))[_0x23ef79(0x165)]();if(!_0x36f1d0)throw CliErrors[_0x23ef79(0x160)](_0x23ef79(0x176));parseParentId(_0x2e018a,'parent-id'),validateSort(_0x2e018a);}async function buildCreatePlan(_0x55bcf6,_0x369ae5){const _0xec5bc8=a114_0x204f54,_0x2974ce=await fetchMutationSnapshot(_0x55bcf6,_0xec5bc8(0x198)),_0x105e26=parseParentId(_0x55bcf6,_0xec5bc8(0x168))??null;if(_0x105e26!=null)requireFolder(_0x2974ce,_0x105e26);const _0x4fede1=validateSort(_0x55bcf6),_0x213dca=_0x4fede1??nextSiblingSort(_0x2974ce,_0x105e26,'folder'),_0x45d292=_0x55bcf6['str'](_0xec5bc8(0x176))[_0xec5bc8(0x165)]();return mutationResult({'operation':_0xec5bc8(0x185),'selector':{'label':_0x45d292,'parentId':_0x105e26},'before':null,'after':{'id':null,'parentId':_0x105e26,'label':_0x45d292,'path':'<platform-generated>','type':'folder','visible':!![],'sort':_0x213dca,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x369ae5,'backend':[...BACKEND],'plannedActions':[{'stage':'create-folder','method':'POST','path':_0xec5bc8(0x19a),'body':{'parentId':toApiParentId(_0x105e26),'label':_0x45d292,'type':'folder','visible':!![],'sort':_0x213dca,'extend':{}}}],'snapshotHash':_0x2974ce[_0xec5bc8(0x19c)],'warnings':[_0xec5bc8(0x162)]});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a115_0xab50=a115_0x5aaa;(function(_0x4db73d,_0x2f0db1){const _0x36e6c3=a115_0x5aaa,_0x36d2ef=_0x4db73d();while(!![]){try{const _0x57eea7=parseInt(_0x36e6c3(0xab))/0x1*(parseInt(_0x36e6c3(0xb5))/0x2)+-parseInt(_0x36e6c3(0x86))/0x3+parseInt(_0x36e6c3(0x91))/0x4*(parseInt(_0x36e6c3(0x85))/0x5)+parseInt(_0x36e6c3(0xa7))/0x6*(-parseInt(_0x36e6c3(0x9a))/0x7)+-parseInt(_0x36e6c3(0xa5))/0x8*(parseInt(_0x36e6c3(0x8a))/0x9)+parseInt(_0x36e6c3(0xb0))/0xa*(parseInt(_0x36e6c3(0xa0))/0xb)+parseInt(_0x36e6c3(0xad))/0xc;if(_0x57eea7===_0x2f0db1)break;else _0x36d2ef['push'](_0x36d2ef['shift']());}catch(_0x3586cc){_0x36d2ef['push'](_0x36d2ef['shift']());}}}(a115_0x49d5,0xa781d));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a115_0x49d5(){const _0xdb5660=['sort','At\x20least\x20one\x20of\x20--label\x20or\x20--sort\x20is\x20required.','101325yoNNAT','3838980voeJBS','Update\x20request\x20for\x20folder\x20','POST','validation','1557sKDTtH','\x20is\x20type\x20\x22','folder','--label\x20cannot\x20be\x20empty.','menu','cookie','label','100LRqCSB','selector','group-update','Menu\x20','str','unknown','rabetbase\x20menu\x20list\x20--format\x20json','hash','update\x20folder','2849nddHzc','Rename\x20or\x20reorder\x20one\x20existing\x20folder\x20menu','\x20sort\x20update\x20did\x20not\x20take\x20effect.','verification','menu_not_folder','\x22,\x20not\x20folder.','11cVXnKl','failed','parentId','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','string','14728tHNVBc','The\x20update\x20request\x20may\x20have\x20taken\x20effect,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','15846whcAvv','type','/smartapi/menu/update','trim','8240ydWaMF','Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.','18201396QsPcCD','update','Folder\x20','4870210pYGSdW','appCode','write','Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.','\x20is\x20no\x20longer\x20type\x20folder.','206KvNVVN'];a115_0x49d5=function(){return _0xdb5660;};return a115_0x49d5();}import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertExpectedState,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireFolder,requireMenu,validateExactId,validateSort}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a115_0xab50(0x88),'path':'/smartapi/menu/update'}];export const menuGroupUpdate={'service':a115_0xab50(0x8e),'command':'group-update','description':a115_0xab50(0x9b),'risk':a115_0xab50(0xb2),'structuredErrors':!![],'rejectedFlags':[{'name':'parent-id','message':a115_0xab50(0xac),'hint':a115_0xab50(0xb3)}],'flags':[MENU_ID_FLAG,{'name':a115_0xab50(0x90),'type':a115_0xab50(0xa4),'description':'New\x20folder\x20label'},MENU_SORT_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x348a07){validateUpdateInput(_0x348a07);},async 'dryRun'(_0x22441a){const _0x5ae349=a115_0xab50;validateUpdateInput(_0x22441a);const {plan:_0x4113be,patch:_0x419da5}=await buildUpdatePlan(_0x22441a,!![]);return menuDryRunResult(_0x4113be,{'method':_0x5ae349(0x88),'url':_0x5ae349(0xa9),'body':_0x419da5,'description':'Would\x20update\x20folder\x20'+_0x4113be[_0x5ae349(0x92)]['id']+'.'});},async 'execute'(_0x517b6b){const _0x33f8d2=a115_0xab50;validateUpdateInput(_0x517b6b);const {plan:_0x118696,patch:_0x3d01c2,noChanges:_0x2c8472}=await buildUpdatePlan(_0x517b6b,![]),_0x46540c=Number(_0x118696[_0x33f8d2(0x92)]['id']),_0x5cd5be=await recheckMutationSnapshot(_0x517b6b,_0x118696,_0x33f8d2(0x99),_0x46540c);if(!_0x2c8472)try{await updateMenuEntity(_0x517b6b[_0x33f8d2(0xb1)],_0x517b6b[_0x33f8d2(0x8f)],_0x3d01c2);}catch(_0x765672){const _0x800170=mapMenuApiError(_0x765672,'update\x20folder',_0x46540c);throw menuFailure(_0x800170,_0x118696,{'stage':_0x33f8d2(0xae),'failed':{'id':_0x46540c}});}let _0xe445e5=_0x5cd5be,_0x41ad06;try{!_0x2c8472&&(_0xe445e5=await fetchMenuSnapshot(_0x517b6b[_0x33f8d2(0xb1)],_0x517b6b[_0x33f8d2(0x8f)])),_0x41ad06=requireMenu(_0xe445e5,_0x46540c),verifyPatch(_0x41ad06,_0x3d01c2),_0x41ad06[_0x33f8d2(0xa2)]!=null&&requireFolder(_0xe445e5,_0x41ad06[_0x33f8d2(0xa2)]);}catch(_0x4d8d88){const _0xf27df5=describeMenuErrorCause(_0x4d8d88,'verify\x20folder\x20update',_0x46540c),_0x4204e5=asVerificationError(_0x4d8d88,_0x33f8d2(0x87)+_0x46540c+_0x33f8d2(0xa3));throw menuFailure(_0x4204e5,_0x118696,{'stage':_0x33f8d2(0x9d),'succeeded':[{'id':_0x46540c,'updateRequested':!_0x2c8472,'skipped':_0x2c8472}],'failed':{'id':_0x46540c,'requestedStateConfirmed':![],..._0xf27df5},'warnings':[_0x33f8d2(0xa6)],'verification':{'status':_0x33f8d2(0xa1),'lookupCommand':_0x33f8d2(0x97),'targetId':_0x46540c}});}const _0x2a6b02=mutationResult({..._0x118696,'after':_0x41ad06,'dryRun':![],'succeeded':[{'id':_0x46540c,'updated':!_0x2c8472,'skipped':_0x2c8472}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0xe445e5['hash'],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x2a6b02,'message':_0x2c8472?_0x33f8d2(0xaf)+_0x46540c+'\x20already\x20matches\x20the\x20requested\x20state.':'Updated\x20folder\x20'+_0x46540c+'.'};}};function validateUpdateInput(_0x203afa){const _0x13d414=a115_0xab50;validateExactId(_0x203afa);if(hasFlag(_0x203afa,'parent-id'))throw CliErrors[_0x13d414(0x89)](_0x13d414(0xac),'Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.');if(!hasFlag(_0x203afa,_0x13d414(0x90))&&!hasFlag(_0x203afa,_0x13d414(0xb6)))throw CliErrors[_0x13d414(0x89)](_0x13d414(0xb7));if(hasFlag(_0x203afa,'label')&&!_0x203afa[_0x13d414(0x95)]('label')[_0x13d414(0xaa)]())throw CliErrors[_0x13d414(0x89)](_0x13d414(0x8d));validateSort(_0x203afa);}async function buildUpdatePlan(_0x265893,_0x8c01d8){const _0x11e293=a115_0xab50,_0x10f1a8=validateExactId(_0x265893),_0x9b5f5a=await fetchMutationSnapshot(_0x265893,_0x11e293(0x99),_0x10f1a8),_0x38264c=requireMenu(_0x9b5f5a,_0x10f1a8);if(_0x38264c['type']!==_0x11e293(0x8c))throw menuError(_0x11e293(0x9e),_0x11e293(0x94)+_0x10f1a8+_0x11e293(0x8b)+(_0x38264c[_0x11e293(0xa8)]||_0x11e293(0x96))+_0x11e293(0x9f),'Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20choose\x20an\x20id\x20whose\x20type\x20is\x20folder.');assertExpectedState(_0x265893,_0x38264c);const _0x104099={'id':_0x10f1a8},_0x4d2619={..._0x38264c};if(hasFlag(_0x265893,_0x11e293(0x90))){const _0x1a6015=_0x265893[_0x11e293(0x95)]('label')[_0x11e293(0xaa)]();_0x104099['label']=_0x1a6015,_0x4d2619[_0x11e293(0x90)]=_0x1a6015;}if(hasFlag(_0x265893,_0x11e293(0xb6))){const _0x53dd66=validateSort(_0x265893);_0x104099[_0x11e293(0xb6)]=_0x53dd66,_0x4d2619['sort']=_0x53dd66;}const _0x1d963b=sameRequestedState(_0x38264c,_0x4d2619),_0x3c2315=_0x1d963b?['No\x20online\x20fields\x20would\x20change.']:[];return{'patch':_0x104099,'noChanges':_0x1d963b,'plan':mutationResult({'operation':_0x11e293(0x93),'selector':{'id':_0x10f1a8},'before':_0x38264c,'after':_0x4d2619,'dryRun':_0x8c01d8,'backend':[...BACKEND],'snapshotHash':_0x9b5f5a[_0x11e293(0x98)],'warnings':_0x3c2315})};}function a115_0x5aaa(_0x983a1d,_0x52d5e1){_0x983a1d=_0x983a1d-0x85;const _0x49d561=a115_0x49d5();let _0x5aaa1b=_0x49d561[_0x983a1d];return _0x5aaa1b;}function sameRequestedState(_0x4ff242,_0x169d9b){const _0x403902=a115_0xab50;return _0x4ff242[_0x403902(0x90)]===_0x169d9b[_0x403902(0x90)]&&_0x4ff242['sort']===_0x169d9b[_0x403902(0xb6)];}function verifyPatch(_0x3bf85c,_0x5f5eb1){const _0x515291=a115_0xab50;assertVerified(_0x3bf85c['type']===_0x515291(0x8c),_0x515291(0x94)+_0x3bf85c['id']+_0x515291(0xb4)),_0x5f5eb1['label']!==undefined&&assertVerified(_0x3bf85c['label']===_0x5f5eb1[_0x515291(0x90)],'Folder\x20'+_0x3bf85c['id']+'\x20label\x20update\x20did\x20not\x20take\x20effect.'),_0x5f5eb1[_0x515291(0xb6)]!==undefined&&assertVerified(_0x3bf85c['sort']===_0x5f5eb1[_0x515291(0xb6)],_0x515291(0xaf)+_0x3bf85c['id']+_0x515291(0x9c));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x5be07e,_0x5815fd){const _0x5c1425=a116_0x45b8,_0x4f736d=_0x5be07e();while(!![]){try{const _0x2edde2=parseInt(_0x5c1425(0x13e))/0x1*(-parseInt(_0x5c1425(0x13a))/0x2)+-parseInt(_0x5c1425(0x13c))/0x3+-parseInt(_0x5c1425(0x143))/0x4+-parseInt(_0x5c1425(0x140))/0x5*(parseInt(_0x5c1425(0x141))/0x6)+-parseInt(_0x5c1425(0x142))/0x7+parseInt(_0x5c1425(0x13d))/0x8*(parseInt(_0x5c1425(0x13b))/0x9)+parseInt(_0x5c1425(0x13f))/0xa;if(_0x2edde2===_0x5815fd)break;else _0x4f736d['push'](_0x4f736d['shift']());}catch(_0x4f95c1){_0x4f736d['push'](_0x4f736d['shift']());}}}(a116_0x2a20,0x86f21));import{menuList}from'../../commands/menu/list.js';import{menuSync}from'../../commands/menu/sync.js';function a116_0x45b8(_0x5a2c21,_0x38932d){_0x5a2c21=_0x5a2c21-0x13a;const _0x2a2068=a116_0x2a20();let _0x45b8b4=_0x2a2068[_0x5a2c21];return _0x45b8b4;}import{menuAssetUpdate}from'../../commands/menu/asset-update.js';import{menuDelete}from'../../commands/menu/delete.js';import{menuGroupCreate}from'../../commands/menu/group-create.js';import{menuGroupUpdate}from'../../commands/menu/group-update.js';import{menuMove}from'../../commands/menu/move.js';import{menuRegroupStart}from'../../commands/menu/regroup-start.js';function a116_0x2a20(){const _0x1a6ca2=['824GoUctd','27837560HfSrKk','5DgGfRQ','984738NbUoYd','4416496jNvNDW','3253484LcZUti','666AnocGB','162072EBZtou','1854975PiWulk','120QqQwjH'];a116_0x2a20=function(){return _0x1a6ca2;};return a116_0x2a20();}import{menuExternalLinkCreate}from'../../commands/menu/external-link-create.js';import{menuExternalLinkUpdate}from'../../commands/menu/external-link-update.js';import{menuRename}from'../../commands/menu/rename.js';import{menuVisibilityUpdate}from'../../commands/menu/visibility-update.js';export const menuDefinitions=[menuList,menuExternalLinkCreate,menuExternalLinkUpdate,menuRename,menuVisibilityUpdate,menuSync,menuAssetUpdate,menuDelete,menuGroupCreate,menuGroupUpdate,menuMove,menuRegroupStart];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a117_0x25a864=a117_0x114c;(function(_0x1ac966,_0x50d81b){const _0x5f269d=a117_0x114c,_0x1f57bd=_0x1ac966();while(!![]){try{const _0x21d19a=-parseInt(_0x5f269d(0x192))/0x1*(-parseInt(_0x5f269d(0x186))/0x2)+-parseInt(_0x5f269d(0x18f))/0x3*(-parseInt(_0x5f269d(0x184))/0x4)+-parseInt(_0x5f269d(0x199))/0x5+parseInt(_0x5f269d(0x194))/0x6+parseInt(_0x5f269d(0x188))/0x7+-parseInt(_0x5f269d(0x198))/0x8+parseInt(_0x5f269d(0x191))/0x9*(parseInt(_0x5f269d(0x190))/0xa);if(_0x21d19a===_0x50d81b)break;else _0x1f57bd['push'](_0x1f57bd['shift']());}catch(_0x51bacb){_0x1f57bd['push'](_0x1f57bd['shift']());}}}(a117_0x51b8,0xc9a72));function a117_0x114c(_0x287b8d,_0xf6eacb){_0x287b8d=_0x287b8d-0x181;const _0x51b8e0=a117_0x51b8();let _0x114c34=_0x51b8e0[_0x287b8d];return _0x114c34;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot,toMenuListItem}from'../../commands/menu/shared/facts.js';function a117_0x51b8(){const _0x3c142a=['12320280jZFEsl','4834115cGaHxi','menu','read','List\x20online\x20menu\x20facts\x20for\x20the\x20current\x20app','1780456GoWHNh','appCode','78rleSwB','No\x20menus\x20found.','7776776erIkZO','list','Return\x20extend\x20field\x20for\x20troubleshooting\x20resource\x20parsing','cookie','verbose','\x20menu(s)','Found\x20','3nvAfCp','230SyKqJp','616914ciqdMA','4682XyfnTo','boolean','105540UYCnTO','bool','menus','total'];a117_0x51b8=function(){return _0x3c142a;};return a117_0x51b8();}export const menuList={'service':a117_0x25a864(0x181),'command':a117_0x25a864(0x189),'description':a117_0x25a864(0x183),'risk':a117_0x25a864(0x182),'flags':[APPCODE_FLAG_OPTIONAL,{'name':a117_0x25a864(0x18c),'type':a117_0x25a864(0x193),'description':a117_0x25a864(0x18a)}],async 'execute'(_0x55a283){const _0x556c27=a117_0x25a864,_0x2ecba4=_0x55a283[_0x556c27(0x195)]('verbose'),_0x2e840a=await fetchMenuSnapshot(_0x55a283[_0x556c27(0x185)],_0x55a283[_0x556c27(0x18b)],{'verbose':_0x2ecba4});return{'ok':!![],'data':{'total':_0x2e840a[_0x556c27(0x197)],'snapshotHash':_0x2e840a['hash'],'menus':_0x2e840a[_0x556c27(0x196)]['map'](toMenuListItem)},'message':_0x2e840a[_0x556c27(0x197)]===0x0?_0x556c27(0x187):_0x556c27(0x18e)+_0x2e840a[_0x556c27(0x197)]+_0x556c27(0x18d)};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a118_0xaa2987=a118_0x4ff1;(function(_0x35fc05,_0x5f19d5){const _0x3d166d=a118_0x4ff1,_0x13a25f=_0x35fc05();while(!![]){try{const _0x3e9382=parseInt(_0x3d166d(0x14b))/0x1*(parseInt(_0x3d166d(0x15b))/0x2)+parseInt(_0x3d166d(0x138))/0x3+-parseInt(_0x3d166d(0x162))/0x4+-parseInt(_0x3d166d(0x141))/0x5*(parseInt(_0x3d166d(0x135))/0x6)+parseInt(_0x3d166d(0x14a))/0x7*(-parseInt(_0x3d166d(0x152))/0x8)+parseInt(_0x3d166d(0x168))/0x9+parseInt(_0x3d166d(0x13f))/0xa;if(_0x3e9382===_0x5f19d5)break;else _0x13a25f['push'](_0x13a25f['shift']());}catch(_0x363f50){_0x13a25f['push'](_0x13a25f['shift']());}}}(a118_0x3cd8,0xcee28));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,requireFolder,requireMenu,toApiParentId,validateExactId,validateSort}from'../../commands/menu/shared/mutations.js';function a118_0x4ff1(_0x137e35,_0x58b1c1){_0x137e35=_0x137e35-0x134;const _0x3cd800=a118_0x3cd8();let _0x4ff1bf=_0x3cd800[_0x137e35];return _0x4ff1bf;}import{updateMenuEntity}from'../../commands/menu/shared/service.js';const BACKEND=[{'method':a118_0xaa2987(0x139),'path':a118_0xaa2987(0x156)}];function a118_0x3cd8(){const _0x3d0b84=['menu_move_source_not_leaf','22928zJNhNi','The\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','folder','/smartapi/menu/update','verify\x20menu\x20move','Moved\x20menu\x20','type','parentId','219058fmKxrw','Menu\x20','move-menu','\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.','Run\x20`rabetbase\x20menu\x20list\x20--format\x20compress`\x20and\x20choose\x20an\x20exact\x20non-folder\x20leaf\x20id.','sort','write','2794592vaonlB','failed','update','rabetbase\x20menu\x20list\x20--format\x20compress','Would\x20move\x20menu\x20','\x20is\x20now\x20type\x20folder.','13638969rXIngE',',\x20current\x20','6gJmBXG','\x20is\x20no\x20longer\x20a\x20leaf.','move','888576eFShqu','POST','verification','\x20parentId\x20did\x20not\x20match\x20the\x20move\x20plan.','menu','move\x20menu','cookie','1373840cVIdyP','\x20must\x20be\x20a\x20non-folder\x20leaf\x20before\x20it\x20can\x20be\x20moved.','2535025MlvRLJ','expect-parent-id','Move\x20request\x20for\x20menu\x20','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','appCode','parent-id','childrenCount','after','The\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','1351heEBSx','6QjRrLL','\x20sort\x20did\x20not\x20match\x20the\x20move\x20plan.','menu\x20list','Move\x20one\x20existing\x20leaf\x20menu\x20to\x20a\x20folder\x20or\x20root','menu_state_drift','hash'];a118_0x3cd8=function(){return _0x3d0b84;};return a118_0x3cd8();}export const menuMove={'service':a118_0xaa2987(0x13c),'command':'move','description':a118_0xaa2987(0x14e),'risk':a118_0xaa2987(0x161),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{...MENU_PARENT_ID_FLAG,'required':!![]},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x41abe9){validateMoveInput(_0x41abe9);},async 'dryRun'(_0x11de2e){const _0x2b08a4=a118_0xaa2987,{plan:_0x47410c,patch:_0xa0b57f}=await buildMovePlan(_0x11de2e,!![]);return menuDryRunResult(_0x47410c,{'method':_0x2b08a4(0x139),'url':_0x2b08a4(0x156),'body':{..._0xa0b57f,'appCode':_0x11de2e[_0x2b08a4(0x145)]},'description':_0x2b08a4(0x166)+_0xa0b57f['id']+'.'});},async 'execute'(_0x5aed5f){const _0x417d99=a118_0xaa2987;validateMoveInput(_0x5aed5f);const {plan:_0x4be746,patch:_0xeff120,noChanges:_0x575a1a,snapshot:_0x47384d}=await buildMovePlan(_0x5aed5f,![]),_0x5e99c3=_0xeff120['id'];if(!_0x575a1a)try{await updateMenuEntity(_0x5aed5f[_0x417d99(0x145)],_0x5aed5f[_0x417d99(0x13e)],_0xeff120);}catch(_0x157a97){const _0x1e50d5=mapMenuApiError(_0x157a97,_0x417d99(0x137),_0x5e99c3);throw menuFailure(_0x1e50d5,_0x4be746,{'stage':_0x417d99(0x164),'failed':{'id':_0x5e99c3},'warnings':[_0x417d99(0x149)],'verification':{'status':'failed','targetId':_0x5e99c3,'lookupCommand':_0x417d99(0x165)}});}let _0xbe694a,_0x48316a;try{_0xbe694a=_0x575a1a?_0x47384d:await fetchMenuSnapshot(_0x5aed5f[_0x417d99(0x145)],_0x5aed5f[_0x417d99(0x13e)]),_0x48316a=requireMenu(_0xbe694a,_0x5e99c3),verifyMove(_0x48316a,_0x4be746[_0x417d99(0x148)]),_0x48316a[_0x417d99(0x15a)]!==null&&requireFolder(_0xbe694a,_0x48316a[_0x417d99(0x15a)]);}catch(_0x23563c){const _0x2e100f=describeMenuErrorCause(_0x23563c,_0x417d99(0x157),_0x5e99c3),_0x2eb95b=asVerificationError(_0x23563c,_0x417d99(0x143)+_0x5e99c3+_0x417d99(0x154));throw menuFailure(_0x2eb95b,_0x4be746,{'stage':_0x417d99(0x13a),'succeeded':[{'id':_0x5e99c3,'updateRequested':!_0x575a1a,'skipped':_0x575a1a}],'failed':{'id':_0x5e99c3,'requestedStateConfirmed':![],..._0x2e100f},'warnings':[_0x417d99(0x153)],'verification':{'status':_0x417d99(0x163),'targetId':_0x5e99c3,'lookupCommand':_0x417d99(0x165)}});}const _0x44066e=mutationResult({..._0x4be746,'after':_0x48316a,'dryRun':![],'succeeded':[{'id':_0x5e99c3,'updated':!_0x575a1a,'skipped':_0x575a1a}],'verification':{'checkedBy':_0x417d99(0x14d),'snapshotHash':_0xbe694a[_0x417d99(0x150)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x44066e,'message':_0x575a1a?_0x417d99(0x15c)+_0x5e99c3+_0x417d99(0x15e):_0x417d99(0x158)+_0x5e99c3+'.'};}};function validateMoveInput(_0x1b6117){const _0x30c59c=a118_0xaa2987;validateExactId(_0x1b6117),parseParentId(_0x1b6117,_0x30c59c(0x146),{'required':!![]}),parseParentId(_0x1b6117,_0x30c59c(0x142),{'required':!![]}),validateSort(_0x1b6117);}async function buildMovePlan(_0x454029,_0x57fba5){const _0x468522=a118_0xaa2987,_0x42520b=validateExactId(_0x454029),_0x561acd=parseParentId(_0x454029,_0x468522(0x146),{'required':!![]}),_0xbe91fe=parseParentId(_0x454029,_0x468522(0x142),{'required':!![]}),_0x2d75e5=validateSort(_0x454029),_0x5b9ed5=await fetchMutationSnapshot(_0x454029,_0x468522(0x13d),_0x42520b),_0x423bef=requireMenu(_0x5b9ed5,_0x42520b);if(_0x423bef[_0x468522(0x159)]===_0x468522(0x155)||_0x423bef['childrenCount']!==0x0)throw menuError(_0x468522(0x151),_0x468522(0x15c)+_0x42520b+_0x468522(0x140),_0x468522(0x15f));if(_0x423bef[_0x468522(0x15a)]!==_0xbe91fe)throw menuError(_0x468522(0x14f),_0x468522(0x15c)+_0x42520b+'\x20parent\x20changed:\x20expected\x20'+formatParent(_0xbe91fe)+_0x468522(0x134)+formatParent(_0x423bef[_0x468522(0x15a)])+'.',_0x468522(0x144));_0x561acd!==null&&requireFolder(_0x5b9ed5,_0x561acd);const _0x12b1bb=_0x2d75e5??(_0x423bef[_0x468522(0x15a)]===_0x561acd?_0x423bef[_0x468522(0x160)]??0x0:nextSiblingSort(_0x5b9ed5,_0x561acd,'menu')),_0x4e03c3={..._0x423bef,'parentId':_0x561acd,'sort':_0x12b1bb},_0x276c5a={'id':_0x42520b,'parentId':toApiParentId(_0x561acd),'sort':_0x12b1bb},_0x2b3bfa=_0x423bef[_0x468522(0x15a)]===_0x561acd&&_0x423bef[_0x468522(0x160)]===_0x12b1bb;return{'patch':_0x276c5a,'noChanges':_0x2b3bfa,'snapshot':_0x5b9ed5,'plan':mutationResult({'operation':_0x468522(0x137),'selector':{'id':_0x42520b,'parentId':_0x561acd},'before':_0x423bef,'after':_0x4e03c3,'dryRun':_0x57fba5,'backend':[...BACKEND],'plannedActions':[{'stage':_0x468522(0x15d),'method':_0x468522(0x139),'path':_0x468522(0x156),'body':{..._0x276c5a,'appCode':_0x454029[_0x468522(0x145)]}}],'snapshotHash':_0x5b9ed5['hash'],'warnings':_0x2b3bfa?['Source\x20menu\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.']:[]})};}function verifyMove(_0x1b5d8a,_0xc52b67){const _0x46352a=a118_0xaa2987;assertVerified(_0x1b5d8a[_0x46352a(0x159)]!=='folder','Menu\x20'+_0x1b5d8a['id']+_0x46352a(0x167)),assertVerified(_0x1b5d8a[_0x46352a(0x147)]===0x0,_0x46352a(0x15c)+_0x1b5d8a['id']+_0x46352a(0x136)),assertVerified(_0x1b5d8a[_0x46352a(0x15a)]===_0xc52b67[_0x46352a(0x15a)],'Menu\x20'+_0x1b5d8a['id']+_0x46352a(0x13b)),assertVerified(_0x1b5d8a[_0x46352a(0x160)]===_0xc52b67[_0x46352a(0x160)],_0x46352a(0x15c)+_0x1b5d8a['id']+_0x46352a(0x14c));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a118_0x2437e2=a118_0x3d2e;(function(_0x1dca58,_0x319949){const _0x14b6ec=a118_0x3d2e,_0x510bba=_0x1dca58();while(!![]){try{const _0xc6745e=-parseInt(_0x14b6ec(0x13f))/0x1*(parseInt(_0x14b6ec(0x17c))/0x2)+-parseInt(_0x14b6ec(0x126))/0x3*(parseInt(_0x14b6ec(0x146))/0x4)+-parseInt(_0x14b6ec(0x180))/0x5+parseInt(_0x14b6ec(0x15c))/0x6*(-parseInt(_0x14b6ec(0x154))/0x7)+-parseInt(_0x14b6ec(0x176))/0x8*(-parseInt(_0x14b6ec(0x16d))/0x9)+-parseInt(_0x14b6ec(0x14f))/0xa*(-parseInt(_0x14b6ec(0x15d))/0xb)+-parseInt(_0x14b6ec(0x13c))/0xc*(-parseInt(_0x14b6ec(0x159))/0xd);if(_0xc6745e===_0x319949)break;else _0x510bba['push'](_0x510bba['shift']());}catch(_0x43a591){_0x510bba['push'](_0x510bba['shift']());}}}(a118_0x33c5,0xde47e));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asyncTaskMessage,buildAsyncTaskStatusCommand,normalizeAsyncTask}from'../../commands/common/async-task.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireMenu}from'../../commands/menu/shared/mutations.js';import{startMenuRegroup}from'../../commands/menu/shared/service.js';import{CLI_BIN_NAME}from'../../constant/cli.js';function a118_0x3d2e(_0x692393,_0x5d13b4){_0x692393=_0x692393-0x123;const _0x33c51c=a118_0x33c5();let _0x3d2e29=_0x33c51c[_0x692393];return _0x3d2e29;}import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a118_0x2437e2(0x130),'path':a118_0x2437e2(0x12a)}],MAX_REGROUP_MENU_COUNT=0x64;export const menuRegroupStart={'service':a118_0x2437e2(0x13a),'command':'regroup-start','description':a118_0x2437e2(0x13b),'risk':'write','structuredErrors':!![],'flags':[{'name':'label','type':a118_0x2437e2(0x128),'required':!![],'description':a118_0x2437e2(0x152)},{'name':a118_0x2437e2(0x162),'type':a118_0x2437e2(0x128),'required':!![],'description':a118_0x2437e2(0x134)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x3d1f93){validateRegroupInput(_0x3d1f93);},async 'dryRun'(_0x4264ed){const _0x57ee47=a118_0x2437e2;validateRegroupInput(_0x4264ed);const _0x28d742=await buildRegroupPlan(_0x4264ed,!![]);return menuDryRunResult(_0x28d742[_0x57ee47(0x181)],{'method':_0x57ee47(0x130),'url':_0x57ee47(0x12a),'body':_0x28d742['input'],'description':_0x57ee47(0x15b)+JSON[_0x57ee47(0x17d)](_0x28d742['label'])+'\x20and\x20regroup\x20menu\x20ids\x20'+_0x28d742[_0x57ee47(0x16c)][_0x57ee47(0x17b)](',\x20')+_0x57ee47(0x15a)});},async 'execute'(_0x1a7ff3){const _0xc96bb=a118_0x2437e2;validateRegroupInput(_0x1a7ff3);const _0x7c003c=await buildRegroupPlan(_0x1a7ff3,![]);await recheckMutationSnapshot(_0x1a7ff3,_0x7c003c[_0xc96bb(0x181)],_0xc96bb(0x170));const _0x8559a=buildMenuLookupCommand(_0x1a7ff3[_0xc96bb(0x172)]);let _0x4c82a0,_0x36dcbe;try{_0x4c82a0=await startMenuRegroup(_0x1a7ff3[_0xc96bb(0x165)],_0x7c003c[_0xc96bb(0x163)]),_0x36dcbe=normalizeAsyncTask(_0x4c82a0);}catch(_0x153590){const _0x3bd127=await inspectRegroupAfterFailure(_0x1a7ff3[_0xc96bb(0x172)],_0x1a7ff3[_0xc96bb(0x165)],_0x7c003c['label'],_0x7c003c[_0xc96bb(0x16c)]),_0x4cb328=typeof _0x4c82a0?.['taskId']===_0xc96bb(0x128)&&_0x4c82a0['taskId']['trim']()?_0x4c82a0[_0xc96bb(0x150)]['trim']():null,_0x1c3d89=_0x4cb328?{'command':buildAsyncTaskStatusCommand(_0x4cb328,_0x1a7ff3[_0xc96bb(0x172)])}:null,_0x1f7e0b=mapMenuApiError(_0x153590,_0xc96bb(0x13d));throw menuFailure(_0x1f7e0b,_0x7c003c['plan'],{'stage':_0xc96bb(0x12e),'failed':{'menuIds':_0x7c003c['menuIds'],'taskId':_0x4cb328,'groupingApplied':_0x3bd127['applied']?!![]:'unconfirmed'},'after':_0x3bd127[_0xc96bb(0x144)]??null,'warnings':['The\x20regroup\x20transaction\x20may\x20commit\x20before\x20task\x20scheduling\x20returns.\x20Do\x20not\x20submit\x20the\x20same\x20regroup\x20again\x20until\x20menu\x20list\x20confirms\x20the\x20current\x20grouping.',..._0x3bd127[_0xc96bb(0x149)]?[_0xc96bb(0x171)+_0x3bd127['readbackError']]:[],..._0x4cb328?[_0xc96bb(0x136)]:[]],'verification':{'status':_0xc96bb(0x133),'groupingApplied':_0x3bd127['applied']?!![]:_0xc96bb(0x161),'taskId':_0x4cb328,'query':_0x1c3d89,'lookupCommand':_0x8559a}});}const _0x2eb6b7=buildAsyncTaskStatusCommand(_0x36dcbe[_0xc96bb(0x150)],_0x1a7ff3['appCode']);let _0x2066ca=null,_0x5e016d=null,_0xb1ebed=null;try{_0x2066ca=await fetchMenuSnapshot(_0x1a7ff3['appCode'],_0x1a7ff3[_0xc96bb(0x165)]),_0x5e016d=findAppliedRegroup(_0x2066ca,_0x7c003c[_0xc96bb(0x139)],_0x7c003c[_0xc96bb(0x16c)]);}catch(_0x40f0de){_0xb1ebed=_0x40f0de instanceof Error?_0x40f0de[_0xc96bb(0x123)]:String(_0x40f0de);}const _0xd1fbde=mutationResult({..._0x7c003c[_0xc96bb(0x181)],'after':_0x5e016d??null,'dryRun':![],'succeeded':[{'groupId':_0x5e016d?.[_0xc96bb(0x158)]['id']??null,'menuIds':_0x7c003c['menuIds'],'taskId':_0x36dcbe['taskId'],'status':_0x36dcbe[_0xc96bb(0x145)],'groupingApplied':_0x5e016d?!![]:'unconfirmed'}],'verification':{'checkedBy':_0xc96bb(0x131),'snapshotHash':_0x2066ca?.[_0xc96bb(0x15f)]??null,'groupId':_0x5e016d?.[_0xc96bb(0x158)]['id']??null,'groupingApplied':_0x5e016d?!![]:_0xc96bb(0x161),'readbackError':_0xb1ebed,'lookupCommand':_0x8559a},'warnings':[..._0x7c003c[_0xc96bb(0x181)][_0xc96bb(0x156)],...!_0x5e016d?[unconfirmedRegroupWarning(_0x36dcbe)]:[],..._0xb1ebed?['Regroup\x20readback\x20failed:\x20'+_0xb1ebed]:[]]}),_0x51b4e3=_0x36dcbe[_0xc96bb(0x145)]===_0xc96bb(0x132)&&!_0x5e016d?'Regroup\x20task\x20'+_0x36dcbe['taskId']+_0xc96bb(0x124):_0xc96bb(0x178)+asyncTaskMessage(_0x36dcbe);return{'ok':!![],'message':_0x51b4e3,'data':{..._0xd1fbde,'task':_0x36dcbe,'query':_0x36dcbe['isTerminal']?null:{'command':_0x2eb6b7}}};}};function validateRegroupInput(_0x4aa80c){const _0x145f4f=a118_0x2437e2;if(!_0x4aa80c[_0x145f4f(0x14e)](_0x145f4f(0x139))[_0x145f4f(0x14a)]())throw CliErrors[_0x145f4f(0x135)](_0x145f4f(0x139));parseMenuIds(_0x4aa80c['str'](_0x145f4f(0x162)));}function parseMenuIds(_0x3de8ff){const _0x5f1fcd=a118_0x2437e2,_0x45b7bc=_0x3de8ff[_0x5f1fcd(0x151)](',')[_0x5f1fcd(0x14b)](_0x734859=>_0x734859[_0x5f1fcd(0x14a)]());if(_0x45b7bc[_0x5f1fcd(0x179)]===0x0||_0x45b7bc['some'](_0x70236=>!_0x70236))throw CliErrors[_0x5f1fcd(0x16a)](_0x5f1fcd(0x168));const _0x2ec2c4=_0x45b7bc[_0x5f1fcd(0x14b)](_0x2af77c=>{const _0x842586=_0x5f1fcd;if(!/^\d+$/[_0x842586(0x147)](_0x2af77c))throw CliErrors['validation'](_0x842586(0x168));const _0x1cd9ad=Number(_0x2af77c);if(!Number[_0x842586(0x16e)](_0x1cd9ad)||_0x1cd9ad<=0x0)throw CliErrors[_0x842586(0x16a)](_0x842586(0x168));return _0x1cd9ad;});if(new Set(_0x2ec2c4)['size']!==_0x2ec2c4[_0x5f1fcd(0x179)])throw CliErrors[_0x5f1fcd(0x16a)]('--menu-ids\x20cannot\x20contain\x20duplicate\x20menu\x20ids.');if(_0x2ec2c4[_0x5f1fcd(0x179)]>MAX_REGROUP_MENU_COUNT)throw CliErrors[_0x5f1fcd(0x16a)](_0x5f1fcd(0x173)+MAX_REGROUP_MENU_COUNT+'\x20menus\x20per\x20regroup\x20request.');return _0x2ec2c4;}function buildMenuLookupCommand(_0x19d8ce){const _0x221eba=a118_0x2437e2,_0x3b6638='\x27'+_0x19d8ce[_0x221eba(0x142)](/'/g,_0x221eba(0x14d))+'\x27';return CLI_BIN_NAME+'\x20menu\x20list\x20--appcode\x20'+_0x3b6638+_0x221eba(0x175);}function unconfirmedRegroupWarning(_0x6546d0){const _0x27ca56=a118_0x2437e2;if(_0x6546d0[_0x27ca56(0x145)]===_0x27ca56(0x132))return _0x27ca56(0x125);if(_0x6546d0[_0x27ca56(0x145)]==='FAILED')return'The\x20regroup\x20task\x20failed,\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Inspect\x20task.errorMessage\x20and\x20do\x20not\x20automatically\x20resubmit\x20this\x20non-idempotent\x20request.';if(_0x6546d0[_0x27ca56(0x153)])return _0x27ca56(0x143);return _0x27ca56(0x12d);}async function buildRegroupPlan(_0xb39605,_0x5c958c){const _0x5122eb=a118_0x2437e2,_0x169350=_0xb39605[_0x5122eb(0x14e)]('label')['trim'](),_0x2d8094=parseMenuIds(_0xb39605[_0x5122eb(0x14e)](_0x5122eb(0x162))),_0x28e42d=await fetchMutationSnapshot(_0xb39605,'plan\x20regroup'),_0x511431=_0x2d8094[_0x5122eb(0x14b)](_0x5dc91b=>requireMenu(_0x28e42d,_0x5dc91b));for(const _0x5032d3 of _0x511431){if(_0x5032d3['type'][_0x5122eb(0x14a)]()[_0x5122eb(0x138)]()===_0x5122eb(0x13e)||_0x5032d3[_0x5122eb(0x16b)]>0x0)throw menuError(_0x5122eb(0x17e),'Menu\x20'+_0x5032d3['id']+'\x20is\x20not\x20a\x20leaf\x20menu\x20and\x20cannot\x20be\x20regrouped\x20by\x20this\x20command.',_0x5122eb(0x148));if(!_0x5032d3['label'][_0x5122eb(0x14a)]())throw menuError(_0x5122eb(0x141),_0x5122eb(0x15e)+_0x5032d3['id']+_0x5122eb(0x129),'Repair\x20the\x20menu\x20label\x20in\x20the\x20platform\x20before\x20regrouping\x20it.');}const _0x4227bf=findAppliedRegroup(_0x28e42d,_0x169350,_0x2d8094);if(_0x4227bf)throw menuError(_0x5122eb(0x137),'Menus\x20'+_0x2d8094['join'](',\x20')+_0x5122eb(0x127)+_0x4227bf[_0x5122eb(0x158)]['id']+'\x20('+JSON[_0x5122eb(0x17d)](_0x169350)+').',_0x5122eb(0x167));const _0xd7f193=_0x28e42d[_0x5122eb(0x12c)]['filter'](_0x4c8e46=>_0x4c8e46[_0x5122eb(0x16f)]==null&&_0x4c8e46['type'][_0x5122eb(0x14a)]()[_0x5122eb(0x138)]()===_0x5122eb(0x13e)&&_0x4c8e46['label']===_0x169350);if(_0xd7f193[_0x5122eb(0x179)]>0x0)throw menuError(_0x5122eb(0x169),_0x5122eb(0x174)+JSON[_0x5122eb(0x17d)](_0x169350)+_0x5122eb(0x17a)+_0xd7f193[_0x5122eb(0x14b)](_0xdc250c=>_0xdc250c['id'])[_0x5122eb(0x17b)](',\x20')+'.',_0x5122eb(0x164));const _0x1badd6={'appCode':_0xb39605[_0x5122eb(0x172)],'menuGroups':[{'label':_0x169350,'type':_0x5122eb(0x13e),'children':_0x511431['map'](_0x461407=>({'id':_0x461407['id'],'label':_0x461407['label']}))}]},_0xc23822=mutationResult({'operation':'regroup-start','selector':{'label':_0x169350,'menuIds':_0x2d8094},'before':{'menus':_0x511431},'after':{'group':{'id':null,'parentId':null,'label':_0x169350,'path':_0x5122eb(0x157),'type':'folder','childrenIds':_0x2d8094},'children':_0x511431[_0x5122eb(0x14b)](_0x23520d=>({'id':_0x23520d['id'],'label':_0x23520d[_0x5122eb(0x139)],'beforeParentId':_0x23520d[_0x5122eb(0x16f)],'afterParentId':'<new-group-id>'}))},'dryRun':_0x5c958c,'backend':[...BACKEND],'plannedActions':[{'stage':_0x5122eb(0x160),'method':_0x5122eb(0x130),'path':'/smartapi/menu/regroup','body':_0x1badd6}],'snapshotHash':_0x28e42d[_0x5122eb(0x15f)],'warnings':[_0x5122eb(0x155),_0x5122eb(0x140)]});return{'label':_0x169350,'menuIds':_0x2d8094,'input':_0x1badd6,'plan':_0xc23822};}function a118_0x33c5(){const _0x4b38f8=['/smartapi/menu/regroup','type','menus','The\x20regroup\x20task\x20returned\x20an\x20unknown\x20status\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Review\x20the\x20task\x20manually\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','regroup-submit','byId','POST','menu\x20list','SUCCESS','failed','Comma-separated\x20exact\x20leaf\x20menu\x20ids\x20to\x20place\x20in\x20the\x20new\x20folder','flagMissing','The\x20response\x20included\x20a\x20taskId.\x20Query\x20that\x20taskId\x20instead\x20of\x20resubmitting\x20regroup.','menu_regroup_already_applied','toLowerCase','label','menu','Start\x20an\x20asynchronous\x20menu\x20regroup;\x20query\x20the\x20returned\x20taskId\x20until\x20SUCCESS\x20or\x20FAILED','24TGlqUY','start\x20menu\x20regroup','folder','924791PVswBD','The\x20returned\x20task\x20performs\x20the\x20regroup\x20asynchronously.\x20Keep\x20taskId\x20and\x20never\x20auto-retry\x20this\x20request.','menu_regroup_target_label_missing','replace','The\x20regroup\x20task\x20was\x20accepted,\x20but\x20the\x20grouping\x20is\x20not\x20visible\x20yet.\x20Query\x20the\x20returned\x20taskId\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','applied','status','4DEMTdx','test','Use\x20exact\x20non-folder\x20leaf\x20menu\x20ids.\x20Existing\x20folder\x20hierarchy\x20changes\x20remain\x20platform-owned.','readbackError','trim','map','some','\x27\x5c\x27\x27','str','298730yoJSZP','taskId','split','Label\x20of\x20the\x20new\x20root\x20folder','knownStatus','1008MczwAE','The\x20regroup\x20endpoint\x20is\x20non-idempotent:\x20every\x20accepted\x20request\x20creates\x20a\x20new\x20root\x20folder.','warnings','<platform-generated>','group','8326903APckzU',';\x20the\x20response\x20will\x20contain\x20a\x20regroup\x20taskId.','Would\x20submit\x20an\x20asynchronous\x20task\x20to\x20create\x20root\x20folder\x20','25920tugboP','473cTpruM','Menu\x20','hash','submit-regroup-task','unconfirmed','menu-ids','input','Choose\x20a\x20unique\x20root\x20folder\x20label\x20or\x20inspect\x20the\x20existing\x20folder\x20before\x20regrouping.','cookie','childrenIds','Do\x20not\x20resubmit\x20the\x20non-idempotent\x20regroup\x20request.\x20Query\x20the\x20original\x20taskId\x20if\x20it\x20is\x20available.','--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.','menu_regroup_label_conflict','validation','childrenCount','menuIds','1719cKXnRH','isSafeInteger','parentId','start\x20regroup','Regroup\x20readback\x20also\x20failed:\x20','appCode','--menu-ids\x20supports\x20at\x20most\x20','Root\x20folder\x20label\x20','\x20--format\x20compress','49048nfUtFL','sort','Regroup\x20task\x20accepted.\x20','length','\x20already\x20belongs\x20to\x20menu\x20id(s)\x20','join','2CHecoh','stringify','menu_regroup_target_not_leaf','get','3260975MfdSPe','plan','message','\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.','The\x20regroup\x20task\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Run\x20data.verification.lookupCommand\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','1881282EysYst','\x20are\x20already\x20the\x20exact\x20children\x20of\x20root\x20folder\x20','string','\x20has\x20no\x20non-empty\x20label\x20required\x20by\x20the\x20regroup\x20contract.'];a118_0x33c5=function(){return _0x4b38f8;};return a118_0x33c5();}function findAppliedRegroup(_0xa73eb3,_0x3c9433,_0x175b6c){const _0x2f8998=a118_0x2437e2,_0x4fe489=_0x175b6c['map'](_0x19833d=>_0xa73eb3[_0x2f8998(0x12f)][_0x2f8998(0x17f)](_0x19833d))['filter'](_0x2448f6=>Boolean(_0x2448f6));if(_0x4fe489['length']!==_0x175b6c[_0x2f8998(0x179)])return null;const _0x426d15=_0x4fe489[0x0]?.[_0x2f8998(0x16f)];if(_0x426d15==null||_0x4fe489[_0x2f8998(0x14c)](_0x156a55=>_0x156a55['parentId']!==_0x426d15))return null;const _0xdb50a6=_0xa73eb3[_0x2f8998(0x12f)][_0x2f8998(0x17f)](_0x426d15);if(!_0xdb50a6||_0xdb50a6[_0x2f8998(0x16f)]!=null||_0xdb50a6[_0x2f8998(0x12b)][_0x2f8998(0x14a)]()[_0x2f8998(0x138)]()!==_0x2f8998(0x13e)||_0xdb50a6[_0x2f8998(0x139)]!==_0x3c9433)return null;const _0x1346ba=[..._0x175b6c][_0x2f8998(0x177)]((_0x27cc9f,_0x22fbf9)=>_0x27cc9f-_0x22fbf9),_0x5c615f=[..._0xdb50a6[_0x2f8998(0x166)]][_0x2f8998(0x177)]((_0x477d21,_0x2af959)=>_0x477d21-_0x2af959);if(JSON['stringify'](_0x5c615f)!==JSON[_0x2f8998(0x17d)](_0x1346ba))return null;return{'group':_0xdb50a6,'children':_0x4fe489};}async function inspectRegroupAfterFailure(_0x19c0b6,_0x151d3e,_0x2f0e7e,_0x4ca2c0){try{const _0x5965b7=await fetchMenuSnapshot(_0x19c0b6,_0x151d3e);return{'applied':findAppliedRegroup(_0x5965b7,_0x2f0e7e,_0x4ca2c0),'readbackError':null};}catch(_0x23348e){return{'applied':null,'readbackError':_0x23348e instanceof Error?_0x23348e['message']:String(_0x23348e)};}}
|
|
1
|
+
const a119_0x3abbee=a119_0x460e;(function(_0x423993,_0x1875f2){const _0x13d854=a119_0x460e,_0x29801a=_0x423993();while(!![]){try{const _0x5c5a58=parseInt(_0x13d854(0xd4))/0x1*(-parseInt(_0x13d854(0xc1))/0x2)+-parseInt(_0x13d854(0xd7))/0x3+-parseInt(_0x13d854(0xe5))/0x4*(parseInt(_0x13d854(0x113))/0x5)+-parseInt(_0x13d854(0xc6))/0x6+parseInt(_0x13d854(0xea))/0x7+-parseInt(_0x13d854(0xed))/0x8+parseInt(_0x13d854(0x10d))/0x9;if(_0x5c5a58===_0x1875f2)break;else _0x29801a['push'](_0x29801a['shift']());}catch(_0x3c5b9f){_0x29801a['push'](_0x29801a['shift']());}}}(a119_0x4f46,0x7614a));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asyncTaskMessage,buildAsyncTaskStatusCommand,normalizeAsyncTask}from'../../commands/common/async-task.js';function a119_0x4f46(){const _0x48bafe=['1439512cwsvAD','split','FAILED','The\x20response\x20included\x20a\x20taskId.\x20Query\x20that\x20taskId\x20instead\x20of\x20resubmitting\x20regroup.','\x20has\x20no\x20non-empty\x20label\x20required\x20by\x20the\x20regroup\x20contract.','unconfirmed','\x20menu\x20list\x20--appcode\x20','validation',';\x20the\x20response\x20will\x20contain\x20a\x20regroup\x20taskId.','toLowerCase','label','\x20is\x20not\x20a\x20leaf\x20menu\x20and\x20cannot\x20be\x20regrouped\x20by\x20this\x20command.','Menu\x20','start\x20menu\x20regroup','menuIds','folder','knownStatus','\x20already\x20belongs\x20to\x20menu\x20id(s)\x20','sort','POST','The\x20returned\x20task\x20performs\x20the\x20regroup\x20asynchronously.\x20Keep\x20taskId\x20and\x20never\x20auto-retry\x20this\x20request.','parentId','The\x20regroup\x20task\x20failed,\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Inspect\x20task.errorMessage\x20and\x20do\x20not\x20automatically\x20resubmit\x20this\x20non-idempotent\x20request.','Regroup\x20task\x20','appCode','/smartapi/menu/regroup','failed','message','menu-ids','string','trim','The\x20regroup\x20task\x20was\x20accepted,\x20but\x20the\x20grouping\x20is\x20not\x20visible\x20yet.\x20Query\x20the\x20returned\x20taskId\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','19159137GAgYYu','plan','--menu-ids\x20cannot\x20contain\x20duplicate\x20menu\x20ids.','regroup-start','status','menus','5BrAftl','hash','taskId','some','Use\x20exact\x20non-folder\x20leaf\x20menu\x20ids.\x20Existing\x20folder\x20hierarchy\x20changes\x20remain\x20platform-owned.','byId','replace','type','4wTHKoq','Root\x20folder\x20label\x20','isTerminal','Menus\x20','menu_regroup_target_label_missing','2751342qlLnQY','regroup-submit','Regroup\x20readback\x20also\x20failed:\x20','childrenCount','applied','Regroup\x20task\x20accepted.\x20','flagMissing','\x20menus\x20per\x20regroup\x20request.','SUCCESS','plan\x20regroup','Choose\x20a\x20unique\x20root\x20folder\x20label\x20or\x20inspect\x20the\x20existing\x20folder\x20before\x20regrouping.','input','stringify','menu_regroup_label_conflict','181872OelClR','Do\x20not\x20resubmit\x20the\x20non-idempotent\x20regroup\x20request.\x20Query\x20the\x20original\x20taskId\x20if\x20it\x20is\x20available.','str','1474551JHTtEv','readbackError','The\x20regroup\x20transaction\x20may\x20commit\x20before\x20task\x20scheduling\x20returns.\x20Do\x20not\x20submit\x20the\x20same\x20regroup\x20again\x20until\x20menu\x20list\x20confirms\x20the\x20current\x20grouping.','<new-group-id>','map','group','size','length','--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.','<platform-generated>','cookie','submit-regroup-task','filter','--menu-ids\x20supports\x20at\x20most\x20','2052472sQpMiR','Would\x20submit\x20an\x20asynchronous\x20task\x20to\x20create\x20root\x20folder\x20','join','The\x20regroup\x20task\x20returned\x20an\x20unknown\x20status\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Review\x20the\x20task\x20manually\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','get','2532180ZZiUAO','Label\x20of\x20the\x20new\x20root\x20folder','\x27\x5c\x27\x27'];a119_0x4f46=function(){return _0x48bafe;};return a119_0x4f46();}import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireMenu}from'../../commands/menu/shared/mutations.js';import{startMenuRegroup}from'../../commands/menu/shared/service.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a119_0x3abbee(0x100),'path':'/smartapi/menu/regroup'}],MAX_REGROUP_MENU_COUNT=0x64;function a119_0x460e(_0x3a848d,_0x595916){_0x3a848d=_0x3a848d-0xbf;const _0x4f4611=a119_0x4f46();let _0x460e44=_0x4f4611[_0x3a848d];return _0x460e44;}export const menuRegroupStart={'service':'menu','command':a119_0x3abbee(0x110),'description':'Start\x20an\x20asynchronous\x20menu\x20regroup;\x20query\x20the\x20returned\x20taskId\x20until\x20SUCCESS\x20or\x20FAILED','risk':'write','structuredErrors':!![],'flags':[{'name':'label','type':a119_0x3abbee(0x10a),'required':!![],'description':a119_0x3abbee(0xeb)},{'name':'menu-ids','type':'string','required':!![],'description':'Comma-separated\x20exact\x20leaf\x20menu\x20ids\x20to\x20place\x20in\x20the\x20new\x20folder'},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x33e6dc){validateRegroupInput(_0x33e6dc);},async 'dryRun'(_0x5370de){const _0x19b266=a119_0x3abbee;validateRegroupInput(_0x5370de);const _0x3ecb8f=await buildRegroupPlan(_0x5370de,!![]);return menuDryRunResult(_0x3ecb8f[_0x19b266(0x10e)],{'method':'POST','url':_0x19b266(0x106),'body':_0x3ecb8f['input'],'description':_0x19b266(0xe6)+JSON[_0x19b266(0xd2)](_0x3ecb8f[_0x19b266(0xf7)])+'\x20and\x20regroup\x20menu\x20ids\x20'+_0x3ecb8f[_0x19b266(0xfb)]['join'](',\x20')+_0x19b266(0xf5)});},async 'execute'(_0x3254b4){const _0x378d1c=a119_0x3abbee;validateRegroupInput(_0x3254b4);const _0x575d84=await buildRegroupPlan(_0x3254b4,![]);await recheckMutationSnapshot(_0x3254b4,_0x575d84['plan'],'start\x20regroup');const _0x488de1=buildMenuLookupCommand(_0x3254b4['appCode']);let _0x4f0b6d,_0x118176;try{_0x4f0b6d=await startMenuRegroup(_0x3254b4[_0x378d1c(0xe1)],_0x575d84[_0x378d1c(0xd1)]),_0x118176=normalizeAsyncTask(_0x4f0b6d);}catch(_0x2af50f){const _0x427147=await inspectRegroupAfterFailure(_0x3254b4[_0x378d1c(0x105)],_0x3254b4[_0x378d1c(0xe1)],_0x575d84[_0x378d1c(0xf7)],_0x575d84[_0x378d1c(0xfb)]),_0x135669=typeof _0x4f0b6d?.['taskId']===_0x378d1c(0x10a)&&_0x4f0b6d[_0x378d1c(0x115)][_0x378d1c(0x10b)]()?_0x4f0b6d[_0x378d1c(0x115)][_0x378d1c(0x10b)]():null,_0x3b0386=_0x135669?{'command':buildAsyncTaskStatusCommand(_0x135669,_0x3254b4[_0x378d1c(0x105)])}:null,_0x558866=mapMenuApiError(_0x2af50f,_0x378d1c(0xfa));throw menuFailure(_0x558866,_0x575d84[_0x378d1c(0x10e)],{'stage':_0x378d1c(0xc7),'failed':{'menuIds':_0x575d84[_0x378d1c(0xfb)],'taskId':_0x135669,'groupingApplied':_0x427147[_0x378d1c(0xca)]?!![]:_0x378d1c(0xf2)},'after':_0x427147[_0x378d1c(0xca)]??null,'warnings':[_0x378d1c(0xd9),..._0x427147['readbackError']?[_0x378d1c(0xc8)+_0x427147[_0x378d1c(0xd8)]]:[],..._0x135669?[_0x378d1c(0xf0)]:[]],'verification':{'status':_0x378d1c(0x107),'groupingApplied':_0x427147[_0x378d1c(0xca)]?!![]:'unconfirmed','taskId':_0x135669,'query':_0x3b0386,'lookupCommand':_0x488de1}});}const _0x2c590c=buildAsyncTaskStatusCommand(_0x118176['taskId'],_0x3254b4[_0x378d1c(0x105)]);let _0x4d9942=null,_0x4a282d=null,_0x46546d=null;try{_0x4d9942=await fetchMenuSnapshot(_0x3254b4[_0x378d1c(0x105)],_0x3254b4[_0x378d1c(0xe1)]),_0x4a282d=findAppliedRegroup(_0x4d9942,_0x575d84[_0x378d1c(0xf7)],_0x575d84['menuIds']);}catch(_0x3d4a1e){_0x46546d=_0x3d4a1e instanceof Error?_0x3d4a1e['message']:String(_0x3d4a1e);}const _0x1d7528=mutationResult({..._0x575d84[_0x378d1c(0x10e)],'after':_0x4a282d??null,'dryRun':![],'succeeded':[{'groupId':_0x4a282d?.['group']['id']??null,'menuIds':_0x575d84[_0x378d1c(0xfb)],'taskId':_0x118176[_0x378d1c(0x115)],'status':_0x118176[_0x378d1c(0x111)],'groupingApplied':_0x4a282d?!![]:_0x378d1c(0xf2)}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x4d9942?.['hash']??null,'groupId':_0x4a282d?.[_0x378d1c(0xdc)]['id']??null,'groupingApplied':_0x4a282d?!![]:'unconfirmed','readbackError':_0x46546d,'lookupCommand':_0x488de1},'warnings':[..._0x575d84['plan']['warnings'],...!_0x4a282d?[unconfirmedRegroupWarning(_0x118176)]:[],..._0x46546d?['Regroup\x20readback\x20failed:\x20'+_0x46546d]:[]]}),_0x11cc98=_0x118176[_0x378d1c(0x111)]===_0x378d1c(0xce)&&!_0x4a282d?_0x378d1c(0x104)+_0x118176[_0x378d1c(0x115)]+'\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.':_0x378d1c(0xcb)+asyncTaskMessage(_0x118176);return{'ok':!![],'message':_0x11cc98,'data':{..._0x1d7528,'task':_0x118176,'query':_0x118176[_0x378d1c(0xc3)]?null:{'command':_0x2c590c}}};}};function validateRegroupInput(_0x1fffd1){const _0x4c88aa=a119_0x3abbee;if(!_0x1fffd1[_0x4c88aa(0xd6)]('label')[_0x4c88aa(0x10b)]())throw CliErrors[_0x4c88aa(0xcc)]('label');parseMenuIds(_0x1fffd1[_0x4c88aa(0xd6)](_0x4c88aa(0x109)));}function parseMenuIds(_0x2c00fd){const _0x4022c8=a119_0x3abbee,_0x208192=_0x2c00fd[_0x4022c8(0xee)](',')[_0x4022c8(0xdb)](_0x1dbe31=>_0x1dbe31[_0x4022c8(0x10b)]());if(_0x208192[_0x4022c8(0xde)]===0x0||_0x208192[_0x4022c8(0x116)](_0x4d9ad0=>!_0x4d9ad0))throw CliErrors['validation'](_0x4022c8(0xdf));const _0x2e53c6=_0x208192[_0x4022c8(0xdb)](_0x4c9e25=>{const _0xf5d62c=_0x4022c8;if(!/^\d+$/['test'](_0x4c9e25))throw CliErrors['validation'](_0xf5d62c(0xdf));const _0x14ae8=Number(_0x4c9e25);if(!Number['isSafeInteger'](_0x14ae8)||_0x14ae8<=0x0)throw CliErrors[_0xf5d62c(0xf4)](_0xf5d62c(0xdf));return _0x14ae8;});if(new Set(_0x2e53c6)[_0x4022c8(0xdd)]!==_0x2e53c6['length'])throw CliErrors[_0x4022c8(0xf4)](_0x4022c8(0x10f));if(_0x2e53c6[_0x4022c8(0xde)]>MAX_REGROUP_MENU_COUNT)throw CliErrors['validation'](_0x4022c8(0xe4)+MAX_REGROUP_MENU_COUNT+_0x4022c8(0xcd));return _0x2e53c6;}function buildMenuLookupCommand(_0x2b0e03){const _0xff69fb=a119_0x3abbee,_0x553ef1='\x27'+_0x2b0e03[_0xff69fb(0xbf)](/'/g,_0xff69fb(0xec))+'\x27';return CLI_BIN_NAME+_0xff69fb(0xf3)+_0x553ef1+'\x20--format\x20compress';}function unconfirmedRegroupWarning(_0x509bb1){const _0x36bba1=a119_0x3abbee;if(_0x509bb1[_0x36bba1(0x111)]==='SUCCESS')return'The\x20regroup\x20task\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Run\x20data.verification.lookupCommand\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.';if(_0x509bb1[_0x36bba1(0x111)]===_0x36bba1(0xef))return _0x36bba1(0x103);if(_0x509bb1[_0x36bba1(0xfd)])return _0x36bba1(0x10c);return _0x36bba1(0xe8);}async function buildRegroupPlan(_0x527989,_0x47ed80){const _0x496b96=a119_0x3abbee,_0x53fb91=_0x527989[_0x496b96(0xd6)](_0x496b96(0xf7))[_0x496b96(0x10b)](),_0x77be9c=parseMenuIds(_0x527989[_0x496b96(0xd6)]('menu-ids')),_0x1b273b=await fetchMutationSnapshot(_0x527989,_0x496b96(0xcf)),_0x25648d=_0x77be9c[_0x496b96(0xdb)](_0x139ec3=>requireMenu(_0x1b273b,_0x139ec3));for(const _0x2fe25e of _0x25648d){if(_0x2fe25e[_0x496b96(0xc0)][_0x496b96(0x10b)]()['toLowerCase']()===_0x496b96(0xfc)||_0x2fe25e[_0x496b96(0xc9)]>0x0)throw menuError('menu_regroup_target_not_leaf',_0x496b96(0xf9)+_0x2fe25e['id']+_0x496b96(0xf8),_0x496b96(0x117));if(!_0x2fe25e[_0x496b96(0xf7)][_0x496b96(0x10b)]())throw menuError(_0x496b96(0xc5),_0x496b96(0xf9)+_0x2fe25e['id']+_0x496b96(0xf1),'Repair\x20the\x20menu\x20label\x20in\x20the\x20platform\x20before\x20regrouping\x20it.');}const _0x32f4ff=findAppliedRegroup(_0x1b273b,_0x53fb91,_0x77be9c);if(_0x32f4ff)throw menuError('menu_regroup_already_applied',_0x496b96(0xc4)+_0x77be9c[_0x496b96(0xe7)](',\x20')+'\x20are\x20already\x20the\x20exact\x20children\x20of\x20root\x20folder\x20'+_0x32f4ff['group']['id']+'\x20('+JSON[_0x496b96(0xd2)](_0x53fb91)+').',_0x496b96(0xd5));const _0x28b5d5=_0x1b273b[_0x496b96(0x112)][_0x496b96(0xe3)](_0x22fe21=>_0x22fe21[_0x496b96(0x102)]==null&&_0x22fe21[_0x496b96(0xc0)][_0x496b96(0x10b)]()[_0x496b96(0xf6)]()==='folder'&&_0x22fe21[_0x496b96(0xf7)]===_0x53fb91);if(_0x28b5d5[_0x496b96(0xde)]>0x0)throw menuError(_0x496b96(0xd3),_0x496b96(0xc2)+JSON[_0x496b96(0xd2)](_0x53fb91)+_0x496b96(0xfe)+_0x28b5d5[_0x496b96(0xdb)](_0x3ccb18=>_0x3ccb18['id'])[_0x496b96(0xe7)](',\x20')+'.',_0x496b96(0xd0));const _0x199eb1={'appCode':_0x527989[_0x496b96(0x105)],'menuGroups':[{'label':_0x53fb91,'type':'folder','children':_0x25648d[_0x496b96(0xdb)](_0x263028=>({'id':_0x263028['id'],'label':_0x263028['label']}))}]},_0x1c71d9=mutationResult({'operation':'regroup-start','selector':{'label':_0x53fb91,'menuIds':_0x77be9c},'before':{'menus':_0x25648d},'after':{'group':{'id':null,'parentId':null,'label':_0x53fb91,'path':_0x496b96(0xe0),'type':_0x496b96(0xfc),'childrenIds':_0x77be9c},'children':_0x25648d[_0x496b96(0xdb)](_0x3b21d7=>({'id':_0x3b21d7['id'],'label':_0x3b21d7[_0x496b96(0xf7)],'beforeParentId':_0x3b21d7[_0x496b96(0x102)],'afterParentId':_0x496b96(0xda)}))},'dryRun':_0x47ed80,'backend':[...BACKEND],'plannedActions':[{'stage':_0x496b96(0xe2),'method':_0x496b96(0x100),'path':_0x496b96(0x106),'body':_0x199eb1}],'snapshotHash':_0x1b273b[_0x496b96(0x114)],'warnings':['The\x20regroup\x20endpoint\x20is\x20non-idempotent:\x20every\x20accepted\x20request\x20creates\x20a\x20new\x20root\x20folder.',_0x496b96(0x101)]});return{'label':_0x53fb91,'menuIds':_0x77be9c,'input':_0x199eb1,'plan':_0x1c71d9};}function findAppliedRegroup(_0x4f1430,_0x4fc6fa,_0x272dbe){const _0x5dd435=a119_0x3abbee,_0x5466ef=_0x272dbe['map'](_0x1bdb5a=>_0x4f1430[_0x5dd435(0x118)][_0x5dd435(0xe9)](_0x1bdb5a))[_0x5dd435(0xe3)](_0x4a0e57=>Boolean(_0x4a0e57));if(_0x5466ef['length']!==_0x272dbe[_0x5dd435(0xde)])return null;const _0x32fc9e=_0x5466ef[0x0]?.[_0x5dd435(0x102)];if(_0x32fc9e==null||_0x5466ef[_0x5dd435(0x116)](_0x423cee=>_0x423cee[_0x5dd435(0x102)]!==_0x32fc9e))return null;const _0x3d21c4=_0x4f1430['byId'][_0x5dd435(0xe9)](_0x32fc9e);if(!_0x3d21c4||_0x3d21c4[_0x5dd435(0x102)]!=null||_0x3d21c4['type'][_0x5dd435(0x10b)]()[_0x5dd435(0xf6)]()!==_0x5dd435(0xfc)||_0x3d21c4[_0x5dd435(0xf7)]!==_0x4fc6fa)return null;const _0x38eadd=[..._0x272dbe][_0x5dd435(0xff)]((_0x22143c,_0x12c173)=>_0x22143c-_0x12c173),_0x260e4b=[..._0x3d21c4['childrenIds']]['sort']((_0x1157a9,_0x43ba61)=>_0x1157a9-_0x43ba61);if(JSON[_0x5dd435(0xd2)](_0x260e4b)!==JSON[_0x5dd435(0xd2)](_0x38eadd))return null;return{'group':_0x3d21c4,'children':_0x5466ef};}async function inspectRegroupAfterFailure(_0x47f563,_0x1d3020,_0x5ac5ee,_0x4ca5f6){const _0x16fc6b=a119_0x3abbee;try{const _0x36c66a=await fetchMenuSnapshot(_0x47f563,_0x1d3020);return{'applied':findAppliedRegroup(_0x36c66a,_0x5ac5ee,_0x4ca5f6),'readbackError':null};}catch(_0x36ae6f){return{'applied':null,'readbackError':_0x36ae6f instanceof Error?_0x36ae6f[_0x16fc6b(0x108)]:String(_0x36ae6f)};}}
|