@lovrabet/rabetbase-cli 2.5.0 → 2.5.1-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/api-doc.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/api/generate-sdk-config-file.js +1 -1
- package/lib/auth/auth-server-ui.js +1 -1
- package/lib/auth/auth-server.d.ts +7 -0
- package/lib/auth/auth-server.js +1 -1
- package/lib/auth/constant.js +1 -1
- package/lib/auth/get-cookie.js +1 -1
- package/lib/auth/get-session-user.js +1 -1
- package/lib/auth/is-session-valid.js +1 -1
- package/lib/auth/login-success-html.js +1 -1
- package/lib/auth/logout.js +1 -1
- package/lib/cli-flags.js +1 -1
- package/lib/cli.js +1 -1
- package/lib/commands/api/generate.js +1 -1
- package/lib/commands/api/index.js +1 -1
- package/lib/commands/api/list.js +1 -1
- package/lib/commands/api/pull.js +1 -1
- package/lib/commands/api/shared.js +1 -1
- package/lib/commands/app/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/members-list.js +1 -1
- package/lib/commands/app/remote-directory.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/delete.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/app-config/list.js +1 -1
- package/lib/commands/app-config/set.js +1 -1
- package/lib/commands/app-config/shared.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/bff/create.js +1 -1
- package/lib/commands/bff/delete.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/bff/list.js +1 -1
- package/lib/commands/bff/pull.js +1 -1
- package/lib/commands/bff/push.js +1 -1
- package/lib/commands/bff/status.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/cli-update.js +1 -1
- package/lib/commands/codegen/index.js +1 -1
- package/lib/commands/codegen/sdk.js +1 -1
- package/lib/commands/codegen/sql.js +1 -1
- package/lib/commands/common/app-registry.js +1 -1
- package/lib/commands/common/app-selector.js +1 -1
- package/lib/commands/common/async-task.js +1 -1
- package/lib/commands/common/dry-run.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/common/validate.js +1 -1
- package/lib/commands/config/delete.js +1 -1
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/init.d.ts +1 -1
- package/lib/commands/config/init.js +1 -1
- package/lib/commands/config/list.js +1 -1
- package/lib/commands/config/set.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/dataset/business-group-update.js +1 -1
- package/lib/commands/dataset/business-groups.js +1 -1
- package/lib/commands/dataset/capability.js +1 -1
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/extend-update.js +1 -1
- package/lib/commands/dataset/field-restore.d.ts +107 -0
- package/lib/commands/dataset/field-restore.js +1 -0
- package/lib/commands/dataset/field-update.js +1 -1
- package/lib/commands/dataset/generate.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/dataset/relation-audit.js +1 -1
- package/lib/commands/dataset/relation-create.js +1 -1
- package/lib/commands/dataset/relation-delete.js +1 -1
- package/lib/commands/dataset/relation-shared.js +1 -1
- package/lib/commands/dataset/relation-update.js +1 -1
- package/lib/commands/dataset/relations.js +1 -1
- package/lib/commands/dataset/rename.js +1 -1
- package/lib/commands/dataset/restore.js +1 -1
- package/lib/commands/dataset/user-deleted-field-list.d.ts +36 -0
- package/lib/commands/dataset/user-deleted-field-list.js +1 -0
- package/lib/commands/db/analysis-batching.js +1 -1
- package/lib/commands/db/analyze-batch-plan.js +1 -1
- package/lib/commands/db/analyze-cancel.js +1 -1
- package/lib/commands/db/analyze-start.js +1 -1
- package/lib/commands/db/analyze-status.js +1 -1
- package/lib/commands/db/create.js +1 -1
- package/lib/commands/db/delete.js +1 -1
- package/lib/commands/db/detail.js +1 -1
- package/lib/commands/db/diff-refresh-start.js +1 -1
- package/lib/commands/db/diff-refresh-status.js +1 -1
- package/lib/commands/db/diff.js +1 -1
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.js +1 -1
- package/lib/commands/db/table-diff-shared.js +1 -1
- package/lib/commands/db/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/deployment/auto-sync.d.ts +28 -0
- package/lib/commands/deployment/auto-sync.js +1 -0
- package/lib/commands/deployment/index.d.ts +2 -0
- package/lib/commands/deployment/index.js +1 -0
- package/lib/commands/deployment/sync.d.ts +2 -0
- package/lib/commands/deployment/sync.js +1 -0
- 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/deployment-sync.d.ts +10 -0
- package/lib/config/deployment-sync.js +1 -0
- package/lib/config/domain-config.d.ts +1 -1
- package/lib/config/domain-config.js +1 -1
- package/lib/config/project-routing.d.ts +30 -0
- package/lib/config/project-routing.js +1 -0
- package/lib/config/schema.d.ts +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.d.ts +7 -2
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.js +1 -1
- package/lib/constant/region.d.ts +2 -2
- package/lib/constant/region.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/constant/routing-profile.d.ts +115 -0
- package/lib/constant/routing-profile.js +1 -0
- package/lib/context/app-resolver.d.ts +2 -0
- package/lib/context/app-resolver.js +1 -1
- package/lib/context/auth-resolver.js +1 -1
- package/lib/context/config-loader.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.d.ts +35 -0
- 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.d.ts +4 -0
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/postinstall.js +1 -1
- package/lib/runtime/confirmation.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/skills/builtin-skill.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/skill-presence.js +1 -1
- package/lib/telemetry/cli-command-trace.js +1 -1
- package/lib/telemetry/cli-help-trace.js +1 -1
- package/lib/telemetry/ensure-cli-otel-config.js +1 -1
- package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
- package/lib/telemetry/send-cli-trace-log.js +1 -1
- package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
- package/lib/utils/ai_config.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cdn-config.js +1 -1
- package/lib/utils/check-sdk-version.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/config.js +1 -1
- package/lib/utils/entity-with-id.js +1 -1
- package/lib/utils/file-utils.js +1 -1
- package/lib/utils/guides-cdn.js +1 -1
- package/lib/utils/http-client.js +1 -1
- package/lib/utils/is-non-interactive.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -2
- package/skills/rabetbase/SKILL.md +20 -9
- package/skills/rabetbase/guides/frontend-development.md +2 -0
- package/skills/rabetbase/guides/sdk-client-generation.md +3 -2
- package/skills/rabetbase/guides/typescript-sdk.md +42 -0
- package/skills/rabetbase/references/rabetbase-api-pull.md +5 -3
- package/skills/rabetbase/references/rabetbase-config.md +9 -5
- package/skills/rabetbase/references/rabetbase-dataset-business-group-update.md +9 -9
- package/skills/rabetbase/references/rabetbase-dataset-business-groups.md +1 -1
- package/skills/rabetbase/references/rabetbase-dataset-field-restore.md +59 -0
- package/skills/rabetbase/references/rabetbase-dataset-user-deleted-field-list.md +47 -0
- package/skills/rabetbase/references/rabetbase-deployment-sync.md +92 -0
- package/skills/rabetbase/references/rabetbase-init.md +11 -5
- package/skills/rabetbase/references/rabetbase-project-create.md +6 -5
- package/skills/rabetbase.manifest.json +6 -3
- package/templates/README.md +13 -17
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a113_0x207e(_0x5c4d47,_0x4c8698){_0x5c4d47=_0x5c4d47-0x68;const _0x5dfe68=a113_0x5dfe();let _0x207e2d=_0x5dfe68[_0x5c4d47];return _0x207e2d;}const a113_0x7fe2e6=a113_0x207e;(function(_0x192417,_0x497f41){const _0x44f40b=a113_0x207e,_0x542842=_0x192417();while(!![]){try{const _0x3c5d85=parseInt(_0x44f40b(0x83))/0x1*(-parseInt(_0x44f40b(0x6e))/0x2)+-parseInt(_0x44f40b(0x70))/0x3+-parseInt(_0x44f40b(0x91))/0x4*(-parseInt(_0x44f40b(0x89))/0x5)+parseInt(_0x44f40b(0x7b))/0x6*(parseInt(_0x44f40b(0x6c))/0x7)+parseInt(_0x44f40b(0x9e))/0x8*(parseInt(_0x44f40b(0x74))/0x9)+-parseInt(_0x44f40b(0x7f))/0xa*(-parseInt(_0x44f40b(0x6f))/0xb)+parseInt(_0x44f40b(0x78))/0xc;if(_0x3c5d85===_0x497f41)break;else _0x542842['push'](_0x542842['shift']());}catch(_0x567cb3){_0x542842['push'](_0x542842['shift']());}}}(a113_0x5dfe,0xa2ab1));import{isPlatformTransportFailure,updateEnterpriseKnowledgeBase}from'../../core/api-client.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{assertCompanyKnowledgeBase,assertExpectedKbVersion,inspectKbContent,kbError,projectKb,readKbFile,readKbId,requireKb,verifyKbMutationReadback}from'../../commands/kb/shared.js';const UPDATE_PATH=a113_0x7fe2e6(0x82),NON_ATOMIC_WARNING='--expected-version\x20is\x20a\x20non-atomic\x20read-before-write\x20assertion;\x20the\x20server\x20update\x20contract\x20has\x20no\x20version\x20predicate.';function readUpdatePatch(_0x26c0d6){const _0x18e6b5=a113_0x7fe2e6,_0x65a2cf=readKbId(_0x26c0d6),_0xf5afad=_0x26c0d6[_0x18e6b5(0x7d)](_0x18e6b5(0x9d)),_0x2596ea=_0x26c0d6[_0x18e6b5(0x7d)](_0x18e6b5(0x84)),_0x568e48=_0x26c0d6['flag'](_0x18e6b5(0x77)),_0x523795=_0xf5afad===undefined?undefined:String(_0xf5afad)[_0x18e6b5(0x7e)]();if(_0xf5afad!==undefined&&!_0x523795)throw kbError('kb_title_invalid','--title\x20cannot\x20be\x20empty.');const _0x8360a2=_0x2596ea===undefined?undefined:String(_0x2596ea)['trim']();if(_0x2596ea!==undefined&&!_0x8360a2)throw kbError(_0x18e6b5(0x8b),_0x18e6b5(0x80));if(_0x523795===undefined&&_0x8360a2===undefined)throw kbError(_0x18e6b5(0x75),'Nothing\x20to\x20update.',_0x18e6b5(0x6a));let _0x43da22;if(_0x568e48!==undefined){_0x43da22=Number(_0x568e48);if(!Number[_0x18e6b5(0x94)](_0x43da22)||_0x43da22<0x0)throw kbError(_0x18e6b5(0x93),_0x18e6b5(0x85));}return{'id':_0x65a2cf,'title':_0x523795,'file':_0x8360a2,'expectedVersion':_0x43da22};}async function prepareUpdate(_0x1abfd8){const _0x4760bd=a113_0x7fe2e6,_0x4e580e=readUpdatePatch(_0x1abfd8),_0x3d5248=await requireKb(_0x1abfd8,_0x4e580e['id']);assertExpectedKbVersion(_0x3d5248,_0x4e580e['expectedVersion']);const _0x30900e=_0x4e580e[_0x4760bd(0x84)]?await readKbFile(_0x4e580e[_0x4760bd(0x84)]):undefined,_0x3b6bae=projectKb(_0x3d5248),_0xba7d79=projectKb({..._0x3d5248,..._0x4e580e[_0x4760bd(0x9d)]!==undefined?{'title':_0x4e580e[_0x4760bd(0x9d)]}:{},..._0x30900e?{'content':_0x30900e[_0x4760bd(0x8f)]}:{}});return{'patch':_0x4e580e,'beforeRecord':_0x3d5248,'before':_0x3b6bae,'planned':_0xba7d79,'replacement':_0x30900e};}function a113_0x5dfe(){const _0x123d17=['flag','trim','10AsbXmY','--file\x20cannot\x20be\x20empty.','Company\x20knowledge-base\x20id','/admin/knowledge-base/update','26gQKoqR','file','--expected-version\x20must\x20be\x20a\x20non-negative\x20safe\x20integer.','kb_verification_failed','contentHash','Updated\x20company\x20knowledge\x20base\x20','45VekKwK','version','kb_file_required','appCode','snapshotHash','string','content','New\x20knowledge-base\x20title','133628Iatknm','patch','kb_expected_version_invalid','isSafeInteger','Update\x20a\x20company\x20knowledge\x20base\x20with\x20preflight\x20drift\x20protection','replacement','number','\x20--format\x20compress','before','verified','company','rabetbase\x20kb\x20detail\x20--id\x20','title','123624VqqMBo','update','\x20--format\x20compress`;\x20do\x20not\x20resubmit\x20automatically.','kb_update_outcome_unknown','Pass\x20at\x20least\x20one\x20of\x20--title\x20or\x20--file.','Non-atomic\x20preflight\x20assertion\x20for\x20the\x20current\x20version','3613022rlynBe','cookie','53934CulizV','5440193qjRBSU','2462373Mayukj','beforeRecord','\x20does\x20not\x20prove\x20the\x20requested\x20update\x20state.','expectedVersion','135WZcLwE','kb_update_empty','planned','expected-version','1546908BXYKKQ','Inspect\x20it\x20with\x20`rabetbase\x20kb\x20detail\x20--id\x20','POST','12ZIpVtX','push'];a113_0x5dfe=function(){return _0x123d17;};return a113_0x5dfe();}export const kbUpdate={'service':'kb','command':a113_0x7fe2e6(0x9f),'description':a113_0x7fe2e6(0x95),'risk':'write','requiresAppCode':!![],'structuredErrors':!![],'flags':[{'name':'id','type':a113_0x7fe2e6(0x97),'required':!![],'description':a113_0x7fe2e6(0x81)},{'name':'title','type':a113_0x7fe2e6(0x8e),'required':![],'description':a113_0x7fe2e6(0x90)},{'name':a113_0x7fe2e6(0x84),'type':a113_0x7fe2e6(0x8e),'required':![],'description':'Replacement\x20UTF-8\x20text\x20or\x20Markdown\x20content\x20file'},{'name':'expected-version','type':'number','required':![],'description':a113_0x7fe2e6(0x6b)}],async 'validate'(_0x17b1dd){readUpdatePatch(_0x17b1dd);},async 'dryRun'(_0x471525){const _0x326fde=a113_0x7fe2e6,_0x3df528=await prepareUpdate(_0x471525),_0x1f950a=_0x3df528[_0x326fde(0x92)][_0x326fde(0x73)]!==undefined?[NON_ATOMIC_WARNING]:[];return asDryRunResult({'operation':_0x326fde(0x9f),'selector':{'id':_0x3df528[_0x326fde(0x99)]['id'],'scope':'company','appCode':_0x3df528['before'][_0x326fde(0x8c)]},'before':_0x3df528[_0x326fde(0x99)],'after':_0x3df528[_0x326fde(0x76)],'dryRun':!![],'backend':{'method':_0x326fde(0x7a),'path':UPDATE_PATH},'warnings':_0x1f950a,'verification':{'expectedVersion':_0x3df528[_0x326fde(0x92)]['expectedVersion']??null,'atomicCompareAndSet':![],'plannedSnapshotHash':_0x3df528['before'][_0x326fde(0x8d)],'lookupCommand':_0x326fde(0x9c)+_0x3df528[_0x326fde(0x99)]['id']+_0x326fde(0x98)}},{'method':_0x326fde(0x7a),'url':UPDATE_PATH});},async 'execute'(_0x357e67){const _0x3ed724=a113_0x7fe2e6,_0x2139ee=await prepareUpdate(_0x357e67),_0x1f2b51={'id':_0x2139ee['patch']['id'],..._0x2139ee[_0x3ed724(0x92)][_0x3ed724(0x9d)]!==undefined?{'title':_0x2139ee['patch']['title']}:{},..._0x2139ee['replacement']?{'content':_0x2139ee[_0x3ed724(0x96)][_0x3ed724(0x8f)]}:{}};let _0x33ebe3=![];try{const _0x48207a=await updateEnterpriseKnowledgeBase(_0x357e67[_0x3ed724(0x6d)],_0x1f2b51);assertCompanyKnowledgeBase(_0x48207a,_0x357e67['appCode'],_0x2139ee[_0x3ed724(0x92)]['id']);}catch(_0x4f2d5d){if(!isPlatformTransportFailure(_0x4f2d5d))throw _0x4f2d5d;_0x33ebe3=!![];}const _0x63c881=await verifyKbMutationReadback(_0x3ed724(0x9f),_0x33ebe3,()=>requireKb(_0x357e67,_0x2139ee['patch']['id'])),_0x391df8=projectKb(_0x63c881),_0x51bdc5=_0x2139ee[_0x3ed724(0x92)][_0x3ed724(0x9d)]===undefined||_0x63c881[_0x3ed724(0x9d)]===_0x2139ee[_0x3ed724(0x92)]['title'],_0x2e2fd8=!_0x2139ee[_0x3ed724(0x96)]||inspectKbContent(_0x63c881['content'])[_0x3ed724(0x87)]===_0x2139ee[_0x3ed724(0x96)][_0x3ed724(0x87)],_0x101a97=!_0x2139ee[_0x3ed724(0x96)]||_0x63c881['version']>_0x2139ee[_0x3ed724(0x71)][_0x3ed724(0x8a)],_0x395a4a=!_0x33ebe3||_0x2139ee[_0x3ed724(0x96)]!==undefined||_0x2139ee['patch'][_0x3ed724(0x9d)]===undefined||_0x2139ee[_0x3ed724(0x71)][_0x3ed724(0x9d)]!==_0x2139ee[_0x3ed724(0x92)][_0x3ed724(0x9d)];if(!_0x51bdc5||!_0x2e2fd8||!_0x101a97||!_0x395a4a)throw kbError(_0x33ebe3?_0x3ed724(0x69):_0x3ed724(0x86),'Company\x20knowledge\x20base\x20'+_0x2139ee[_0x3ed724(0x92)]['id']+_0x3ed724(0x72),_0x3ed724(0x79)+_0x2139ee[_0x3ed724(0x92)]['id']+_0x3ed724(0x68));const _0x185ba6=[];return _0x2139ee[_0x3ed724(0x92)][_0x3ed724(0x73)]!==undefined&&_0x185ba6[_0x3ed724(0x7c)](NON_ATOMIC_WARNING),_0x33ebe3&&_0x185ba6['push']('Update\x20response\x20was\x20unavailable;\x20verified\x20applicable\x20postconditions\x20by\x20exact\x20ID\x20without\x20resubmitting.'),{'ok':!![],'data':{'operation':'update','selector':{'id':_0x391df8['id'],'scope':_0x3ed724(0x9b),'appCode':_0x391df8[_0x3ed724(0x8c)]},'before':_0x2139ee['before'],'after':_0x391df8,'dryRun':![],'backend':{'method':'POST','path':UPDATE_PATH},'warnings':_0x185ba6,'verification':{'status':_0x3ed724(0x9a),'recoveredAfterUnknownResponse':_0x33ebe3,'expectedVersion':_0x2139ee['patch'][_0x3ed724(0x73)]??null,'atomicCompareAndSet':![],'lookupCommand':'rabetbase\x20kb\x20detail\x20--id\x20'+_0x391df8['id']+_0x3ed724(0x98)}},'message':_0x3ed724(0x88)+_0x391df8['id']};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a114_0x193e(_0x3fe3e,_0x3fc229){_0x3fe3e=_0x3fe3e-0x1c3;const _0x2d507d=a114_0x2d50();let _0x193e02=_0x2d507d[_0x3fe3e];return _0x193e02;}const a114_0x2634fa=a114_0x193e;(function(_0x16381f,_0x23982c){const _0x16489f=a114_0x193e,_0x45fc7e=_0x16381f();while(!![]){try{const _0x44a37d=-parseInt(_0x16489f(0x1d2))/0x1+parseInt(_0x16489f(0x1d9))/0x2*(-parseInt(_0x16489f(0x1cb))/0x3)+-parseInt(_0x16489f(0x1da))/0x4+-parseInt(_0x16489f(0x1cf))/0x5*(parseInt(_0x16489f(0x1d5))/0x6)+-parseInt(_0x16489f(0x1c3))/0x7*(-parseInt(_0x16489f(0x1c4))/0x8)+parseInt(_0x16489f(0x1e0))/0x9*(parseInt(_0x16489f(0x1d7))/0xa)+parseInt(_0x16489f(0x1c6))/0xb;if(_0x44a37d===_0x23982c)break;else _0x45fc7e['push'](_0x45fc7e['shift']());}catch(_0x360e04){_0x45fc7e['push'](_0x45fc7e['shift']());}}}(a114_0x2d50,0x2c906));import{logger}from'../../utils/logger.js';function printLogs(_0x251f2f){const _0x27500c=a114_0x193e;if(_0x251f2f[_0x27500c(0x1ce)]===0x0){console[_0x27500c(0x1e4)](_0x27500c(0x1e3));return;}console[_0x27500c(0x1e4)](_0x27500c(0x1d8)),_0x251f2f[_0x27500c(0x1c9)]((_0x298de0,_0x4a6b15)=>{const _0x3c42e6=_0x27500c,_0x228741=new Date(_0x298de0['timestamp'])[_0x3c42e6(0x1e1)]('en-US'),_0x2630ed=_0x298de0[_0x3c42e6(0x1db)]===_0x3c42e6(0x1d0)?'√':_0x298de0['level']===_0x3c42e6(0x1c8)?'×':_0x298de0[_0x3c42e6(0x1db)]==='warn'?'!':'i';console['log'](_0x4a6b15+0x1+'.\x20'+_0x2630ed+'\x20['+_0x298de0[_0x3c42e6(0x1de)]+']\x20'+_0x298de0[_0x3c42e6(0x1ca)]),console[_0x3c42e6(0x1e4)]('\x20\x20\x20Time:\x20'+_0x228741),_0x298de0['duration']&&console['log']('\x20\x20\x20Duration:\x20'+_0x298de0[_0x3c42e6(0x1d1)]+'ms'),_0x298de0['details']&&Object[_0x3c42e6(0x1d3)](_0x298de0[_0x3c42e6(0x1cd)])[_0x3c42e6(0x1ce)]>0x0&&console['log'](_0x3c42e6(0x1e2)+JSON[_0x3c42e6(0x1dd)](_0x298de0[_0x3c42e6(0x1cd)],null,0x2)),console[_0x3c42e6(0x1e4)]('');});}export const logsDefinitions=[{'service':'logs','command':a114_0x2634fa(0x1d4),'description':a114_0x2634fa(0x1df),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x7b3873){return printLogs(logger['readLogs']()),{'ok':!![]};}},{'service':a114_0x2634fa(0x1dc),'command':a114_0x2634fa(0x1c7),'description':a114_0x2634fa(0x1c5),'risk':a114_0x2634fa(0x1d6),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x2a5b83){const _0x471740=a114_0x2634fa;return logger[_0x471740(0x1e5)](),console[_0x471740(0x1e4)](_0x471740(0x1cc)),{'ok':!![]};}}];function a114_0x2d50(){const _0x197ec3=['logs','stringify','command','View\x20command\x20history\x20logs','45EqEYIy','toLocaleString','\x20\x20\x20Details:\x20','*\x20No\x20logs\x20found','log','clearLogs','24801znRjiU','264TqIpLJ','Clear\x20command\x20history\x20logs','6473577gxDGTT','clear','error','forEach','message','348477PCbnEb','*\x20Logs\x20cleared','details','length','5WHxleE','success','duration','208456zjGUmw','keys','show','19590RlvjRO','write','143620YxfyQr','*\x20Lovrabet\x20CLI\x20logs:\x0a','2XiTjTX','1067288rngPmM','level'];a114_0x2d50=function(){return _0x197ec3;};return a114_0x2d50();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a110_0x2f3b77=a110_0x5bf2;(function(_0x58f6e6,_0x40102d){const _0x204034=a110_0x5bf2,_0x4d6d85=_0x58f6e6();while(!![]){try{const _0x5d67c8=parseInt(_0x204034(0x12d))/0x1*(-parseInt(_0x204034(0xfc))/0x2)+parseInt(_0x204034(0x150))/0x3+parseInt(_0x204034(0x134))/0x4+parseInt(_0x204034(0x142))/0x5+parseInt(_0x204034(0x105))/0x6*(parseInt(_0x204034(0x13a))/0x7)+-parseInt(_0x204034(0x146))/0x8*(-parseInt(_0x204034(0x113))/0x9)+-parseInt(_0x204034(0x122))/0xa;if(_0x5d67c8===_0x40102d)break;else _0x4d6d85['push'](_0x4d6d85['shift']());}catch(_0x251bc0){_0x4d6d85['push'](_0x4d6d85['shift']());}}}(a110_0x51d5,0xce72f));import a110_0x258b5c from'chalk';import{filterMenusWithResources,fetchOnlineMenuList}from'../../commands/menu/shared/logic.js';function a110_0x51d5(){const _0x567853=['No\x20menus\x20with\x20existing\x20resources\x20would\x20be\x20updated.','appcode','1564713jWtoFT','Update\x20CDN\x20asset\x20URLs\x20for\x20selected\x20online\x20menus\x20with\x20existing\x20resources','\x20\x20Cancelled.','string','yellow','patch\x20replaces\x20a\x20supplied\x20type\x20only\x20when\x20the\x20existing\x20target\x20is\x20unambiguous','Resource\x20update\x20mode:\x20replace\x20rewrites\x20resources\x20from\x20supplied\x20URLs;\x20','\x20menu(s)\x20failed','cookie','\x20menu(s)','\x20menu\x20resource\x20set(s).','message','\x20updated.','\x20failed.','replace','34909790faBHiB','script','bool','split','label','fetch','trim','validation','Menu\x20asset\x20update\x20failed','Fetching\x20online\x20menu\x20list...','JSON:\x20{\x22jsUrl\x22:\x22https://...js\x22,\x22cssUrl\x22:\x22https://...css\x22}','57203gVfVXw','\x20menu(s)...','updated','skipped','paths','boolean','\x20\x20!\x20No\x20menus\x20with\x20existing\x20resources\x20found','3788928vOPcos','Would\x20update\x20','load-mode','menu\x20asset-update\x20requires\x20an\x20explicit\x20target:\x20pass\x20--all,\x20--menu-ids,\x20or\x20--paths.','stringify','length','7sXxDGU','Updating\x20','rawFlags','Exact\x20comma-separated\x20menu\x20IDs\x20to\x20update','force','\x20menu(s)\x20with\x20existing\x20resources','cyan','menu-ids','1578045NPhqKk','selectedAppName','Updated\x20','parse','40oBuVQZ','POST','Invalid\x20--mode.\x20Allowed\x20values:\x20replace,\x20patch','--all\x20cannot\x20be\x20combined\x20with\x20--menu-ids\x20or\x20--paths.','--menu-ids\x20must\x20contain\x20positive\x20safe\x20integers.','write','str','cssUrl','!\x20No\x20menus\x20with\x20existing\x20resources\x20found','/smartapi/menu/update','2960667PwWaYE','mode','\x20updated,\x20','\x20menu(s)\x20with\x20JS:\x20','menu','Menu\x20asset\x20update\x20skipped','Exact\x20comma-separated\x20menu\x20paths\x20to\x20update','Allow\x20replace\x20mode\x20to\x20remove\x20existing\x20JS\x20resources','filter','some','4HeJOIE','map','failed','Pre-fill\x20JS/CSS\x20URLs\x20to\x20update.\x20','✓\x20Menu\x20asset\x20update\x20completed:\x20','\x20\x20Found\x20','all','object','import','7991910toBScg','Explicitly\x20update\x20every\x20menu\x20that\x20has\x20resources','Online\x20menu\x20list\x20fetched','\x20and\x20CSS:\x20','params','\x20menu(s)\x20updated','appCode','Invalid\x20--load-mode.\x20Allowed\x20values:\x20import,\x20script,\x20fetch','jsUrl','patch','Menu\x20asset\x20update\x20completed:\x20','diffs'];a110_0x51d5=function(){return _0x567853;};return a110_0x51d5();}import{renderUpdateSummary}from'../../commands/menu/shared/compare-table.js';import{askJsUrl,askCssUrl,askConfirm,startSpinner,stopSpinner,requireInteractive}from'../../commands/menu/shared/inquirer.js';import{CliErrors}from'../../errors.js';import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';import{runMenuUpdateCore}from'../../commands/menu/shared/update-core.js';import{selectMenusForUpdate}from'../../commands/menu/shared/update-core.js';import{isInProject}from'../../context.js';function a110_0x5bf2(_0x38b835,_0x72ec74){_0x38b835=_0x38b835-0xf3;const _0x51d54d=a110_0x51d5();let _0x5bf233=_0x51d54d[_0x38b835];return _0x5bf233;}export const menuAssetUpdate={'service':a110_0x2f3b77(0xf6),'command':'asset-update','description':a110_0x2f3b77(0x114),'risk':a110_0x2f3b77(0x14b),'flags':[{'name':a110_0x2f3b77(0x109),'type':'string','description':a110_0x2f3b77(0xff)+a110_0x2f3b77(0x12c)},{'name':a110_0x2f3b77(0xf3),'type':'string','description':a110_0x2f3b77(0x119)+a110_0x2f3b77(0x118),'enum':['replace','patch'],'default':a110_0x2f3b77(0x10e)},{'name':a110_0x2f3b77(0x13e),'type':a110_0x2f3b77(0x132),'description':a110_0x2f3b77(0xf9)},{'name':a110_0x2f3b77(0x141),'type':'string','description':a110_0x2f3b77(0x13d)},{'name':a110_0x2f3b77(0x131),'type':a110_0x2f3b77(0x116),'description':a110_0x2f3b77(0xf8)},{'name':a110_0x2f3b77(0x102),'type':a110_0x2f3b77(0x132),'description':a110_0x2f3b77(0x106)},{'name':a110_0x2f3b77(0x136),'type':a110_0x2f3b77(0x116),'enum':[a110_0x2f3b77(0x104),a110_0x2f3b77(0x123),a110_0x2f3b77(0x127)],'description':'Explicitly\x20change\x20the\x20microfrontend\x20resource\x20loading\x20mode'}],async 'dryRun'(_0x2d2fdb){const _0x456c67=a110_0x2f3b77;ensureRunnableContext(_0x2d2fdb['rawFlags'],_0x2d2fdb[_0x456c67(0x143)]);const _0x34ed7e=await runMenuUpdateCore(_0x2d2fdb['appCode'],_0x2d2fdb[_0x456c67(0x11b)],_0x2d2fdb[_0x456c67(0x14c)](_0x456c67(0x109)),{'mode':parseMode(_0x2d2fdb[_0x456c67(0x14c)](_0x456c67(0xf3))),'dryRun':!![],'force':_0x2d2fdb[_0x456c67(0x124)](_0x456c67(0x13e)),'selection':parseSelection(_0x2d2fdb),'loadScriptMode':parseLoadScriptMode(_0x2d2fdb[_0x456c67(0x14c)]('load-mode'))});return{'method':_0x456c67(0x147),'url':_0x456c67(0x14f),'body':_0x34ed7e,'description':_0x34ed7e[_0x456c67(0x130)]?_0x456c67(0x111):_0x456c67(0x135)+(_0x34ed7e[_0x456c67(0x110)]?.[_0x456c67(0x139)]??0x0)+_0x456c67(0x11d)};},async 'execute'(_0x3b1eb9){const _0x4db0a5=a110_0x2f3b77;ensureRunnableContext(_0x3b1eb9[_0x4db0a5(0x13c)],_0x3b1eb9[_0x4db0a5(0x143)]);const _0x217bd3=_0x3b1eb9[_0x4db0a5(0x14c)](_0x4db0a5(0x109)),_0x263e1c=parseMode(_0x3b1eb9['str'](_0x4db0a5(0xf3))),_0x3182cc=_0x3b1eb9['bool'](_0x4db0a5(0x13e)),_0x156d4a=parseLoadScriptMode(_0x3b1eb9['str'](_0x4db0a5(0x136))),_0x30dad9=parseParams(_0x217bd3),_0x6b35fe=!!(_0x30dad9[_0x4db0a5(0x10d)]||_0x30dad9[_0x4db0a5(0x14d)]);if(_0x6b35fe){const _0x1405bf=await runMenuUpdateCore(_0x3b1eb9['appCode'],_0x3b1eb9[_0x4db0a5(0x11b)],_0x217bd3,{'mode':_0x263e1c,'force':_0x3182cc,'selection':parseSelection(_0x3b1eb9),'loadScriptMode':_0x156d4a});return _0x1405bf[_0x4db0a5(0x130)]?writeCliSideChannelLine(_0x4db0a5(0x14e)):(writeCliSideChannelLine(_0x4db0a5(0x100)+_0x1405bf[_0x4db0a5(0x12f)]+_0x4db0a5(0x10a)),_0x1405bf['failed']>0x0&&writeCliSideChannelLine('!\x20'+_0x1405bf[_0x4db0a5(0xfe)]+_0x4db0a5(0x11a))),{'ok':_0x1405bf[_0x4db0a5(0xfe)]===0x0,'data':_0x1405bf,'message':_0x1405bf[_0x4db0a5(0x130)]?_0x4db0a5(0xf7):_0x4db0a5(0x10f)+_0x1405bf[_0x4db0a5(0x12f)]+_0x4db0a5(0xf4)+_0x1405bf[_0x4db0a5(0xfe)]+_0x4db0a5(0x120)};}requireInteractive();const _0x2d3f01=startSpinner(_0x4db0a5(0x12b));let _0x32f3ff;try{_0x32f3ff=await fetchOnlineMenuList(_0x3b1eb9['appCode'],_0x3b1eb9[_0x4db0a5(0x11b)]),stopSpinner(_0x2d3f01,_0x4db0a5(0x107),!![]);}catch(_0x1a6755){stopSpinner(_0x2d3f01,'Failed\x20to\x20fetch\x20online\x20menu\x20list',![]);throw CliErrors[_0x4db0a5(0x129)](_0x1a6755 instanceof Error?_0x1a6755['message']:'Failed\x20to\x20fetch\x20online\x20menu\x20list');}const _0x1a4352=filterMenusWithResources(_0x32f3ff),_0x4530cf=parseSelection(_0x3b1eb9,![]),_0x4cb724=_0x4530cf?selectMenusForUpdate(_0x1a4352,_0x4530cf):_0x1a4352;if(_0x4cb724[_0x4db0a5(0x139)]===0x0)return writeCliSideChannelLine(a110_0x258b5c[_0x4db0a5(0x117)](_0x4db0a5(0x133))),{'ok':!![]};writeCliSideChannelLine(''),writeCliSideChannelLine(a110_0x258b5c[_0x4db0a5(0x140)](_0x4db0a5(0x101)+_0x4cb724[_0x4db0a5(0x139)]+_0x4db0a5(0x13f))),writeCliSideChannelLine(renderUpdateSummary(_0x4cb724[_0x4db0a5(0xfd)](_0x3b3853=>_0x3b3853[_0x4db0a5(0x126)]),[_0x30dad9[_0x4db0a5(0x10d)],_0x30dad9[_0x4db0a5(0x14d)]])),writeCliSideChannelLine('');let _0x492ad7=_0x30dad9['jsUrl'],_0xb43f64=_0x30dad9['cssUrl'];!_0x492ad7&&(_0x492ad7=await askJsUrl());!_0xb43f64&&(_0xb43f64=await askCssUrl());const _0x447fe2=await askConfirm('\x20\x20Update\x20'+_0x4cb724[_0x4db0a5(0x139)]+_0x4db0a5(0xf5)+_0x492ad7+_0x4db0a5(0x108)+_0xb43f64+'?');if(!_0x447fe2)return writeCliSideChannelLine(a110_0x258b5c['gray'](_0x4db0a5(0x115))),{'ok':!![]};const _0x293565=startSpinner(_0x4db0a5(0x13b)+_0x4cb724['length']+_0x4db0a5(0x12e));try{const _0x36c865=await runMenuUpdateCore(_0x3b1eb9[_0x4db0a5(0x10b)],_0x3b1eb9['cookie'],JSON[_0x4db0a5(0x138)]({'jsUrl':_0x492ad7,'cssUrl':_0xb43f64}),{'mode':_0x263e1c,'force':_0x3182cc,'selection':{'all':![],'menuIds':_0x4cb724[_0x4db0a5(0xfd)](_0x128674=>_0x128674['id']),'paths':[]},'loadScriptMode':_0x156d4a});return stopSpinner(_0x293565,_0x4db0a5(0x144)+_0x36c865[_0x4db0a5(0x12f)]+_0x4db0a5(0x11c),_0x36c865[_0x4db0a5(0xfe)]===0x0),{'ok':_0x36c865[_0x4db0a5(0xfe)]===0x0,'data':_0x36c865,'message':_0x36c865[_0x4db0a5(0xfe)]>0x0?'Menu\x20asset\x20update\x20completed:\x20'+_0x36c865[_0x4db0a5(0x12f)]+_0x4db0a5(0xf4)+_0x36c865['failed']+_0x4db0a5(0x120):_0x4db0a5(0x10f)+_0x36c865[_0x4db0a5(0x12f)]+_0x4db0a5(0x11f)};}catch(_0x3bbc34){stopSpinner(_0x293565,_0x4db0a5(0x12a),![]);throw CliErrors['validation'](_0x3bbc34 instanceof Error?_0x3bbc34[_0x4db0a5(0x11e)]:'Menu\x20asset\x20update\x20failed');}}};function ensureRunnableContext(_0x1593bb,_0x2f4f6a){const _0x5a4085=a110_0x2f3b77,_0xfaca4e=_0x1593bb[_0x5a4085(0x112)]?String(_0x1593bb[_0x5a4085(0x112)])[_0x5a4085(0x128)]():'';if(!isInProject()&&!_0x2f4f6a&&!_0xfaca4e)throw CliErrors['validation']('menu\x20asset-update\x20requires\x20a\x20project\x20context\x20or\x20explicit\x20--appcode.\x20'+'Run\x20inside\x20a\x20directory\x20with\x20.rabetbase.json,\x20or\x20pass\x20--appcode\x20<code>.');}function parseMode(_0x180a5c){const _0x3a9bfa=a110_0x2f3b77;if(!_0x180a5c)return _0x3a9bfa(0x10e);if(_0x180a5c===_0x3a9bfa(0x121)||_0x180a5c==='patch')return _0x180a5c;throw CliErrors[_0x3a9bfa(0x129)](_0x3a9bfa(0x148));}function parseSelection(_0x9c434e,_0x39c69a=!![]){const _0x58b8e2=a110_0x2f3b77,_0x573355=_0x9c434e[_0x58b8e2(0x124)](_0x58b8e2(0x102)),_0x28260e=parseMenuIds(_0x9c434e[_0x58b8e2(0x14c)]('menu-ids')),_0x1ad3f0=parseCsv(_0x9c434e[_0x58b8e2(0x14c)](_0x58b8e2(0x131))),_0x485826=_0x28260e['length']>0x0||_0x1ad3f0['length']>0x0;if(_0x573355&&_0x485826)throw CliErrors[_0x58b8e2(0x129)](_0x58b8e2(0x149));if(!_0x573355&&!_0x485826){if(!_0x39c69a)return undefined;throw CliErrors[_0x58b8e2(0x129)](_0x58b8e2(0x137));}return{'all':_0x573355,'menuIds':_0x28260e,'paths':_0x1ad3f0};}function parseMenuIds(_0x4b5808){const _0x3aa57a=a110_0x2f3b77,_0x295b00=parseCsv(_0x4b5808),_0x29f1ac=_0x295b00[_0x3aa57a(0xfd)](Number);if(_0x29f1ac[_0x3aa57a(0xfb)](_0x300d04=>!Number['isSafeInteger'](_0x300d04)||_0x300d04<=0x0))throw CliErrors[_0x3aa57a(0x129)](_0x3aa57a(0x14a));return[...new Set(_0x29f1ac)];}function parseCsv(_0x4b08a1){const _0x20a3f4=a110_0x2f3b77;return[...new Set(_0x4b08a1[_0x20a3f4(0x125)](',')['map'](_0x35e9ba=>_0x35e9ba[_0x20a3f4(0x128)]())[_0x20a3f4(0xfa)](Boolean))];}function parseLoadScriptMode(_0x5a4505){const _0x4f08c1=a110_0x2f3b77;if(!_0x5a4505)return undefined;if(_0x5a4505===_0x4f08c1(0x104)||_0x5a4505==='script'||_0x5a4505===_0x4f08c1(0x127))return _0x5a4505;throw CliErrors[_0x4f08c1(0x129)](_0x4f08c1(0x10c));}function parseParams(_0x4a2a48){const _0x58fa81=a110_0x2f3b77;if(!_0x4a2a48)return{};try{const _0x569c41=JSON[_0x58fa81(0x145)](_0x4a2a48);if(typeof _0x569c41!==_0x58fa81(0x103)||_0x569c41===null||Array['isArray'](_0x569c41))return{};return{'jsUrl':typeof _0x569c41[_0x58fa81(0x10d)]===_0x58fa81(0x116)?_0x569c41[_0x58fa81(0x10d)]['trim']():undefined,'cssUrl':typeof _0x569c41[_0x58fa81(0x14d)]===_0x58fa81(0x116)?_0x569c41['cssUrl'][_0x58fa81(0x128)]():undefined};}catch{return{};}}
|
|
1
|
+
const a115_0x19c3c5=a115_0x5384;(function(_0xe98030,_0x10229b){const _0x397a8f=a115_0x5384,_0xf66376=_0xe98030();while(!![]){try{const _0x42f96f=-parseInt(_0x397a8f(0x1b3))/0x1*(parseInt(_0x397a8f(0x1b9))/0x2)+parseInt(_0x397a8f(0x199))/0x3+-parseInt(_0x397a8f(0x19a))/0x4*(-parseInt(_0x397a8f(0x178))/0x5)+-parseInt(_0x397a8f(0x1c8))/0x6+parseInt(_0x397a8f(0x1a1))/0x7+-parseInt(_0x397a8f(0x1bc))/0x8*(parseInt(_0x397a8f(0x1bb))/0x9)+parseInt(_0x397a8f(0x1c3))/0xa;if(_0x42f96f===_0x10229b)break;else _0xf66376['push'](_0xf66376['shift']());}catch(_0x39e1af){_0xf66376['push'](_0xf66376['shift']());}}}(a115_0x4123,0x2f125));import a115_0x285cd8 from'chalk';import{filterMenusWithResources,fetchOnlineMenuList}from'../../commands/menu/shared/logic.js';import{renderUpdateSummary}from'../../commands/menu/shared/compare-table.js';import{askJsUrl,askCssUrl,askConfirm,startSpinner,stopSpinner,requireInteractive}from'../../commands/menu/shared/inquirer.js';import{CliErrors}from'../../errors.js';function a115_0x5384(_0x23087f,_0x442465){_0x23087f=_0x23087f-0x178;const _0x4123cd=a115_0x4123();let _0x5384d1=_0x4123cd[_0x23087f];return _0x5384d1;}import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';import{runMenuUpdateCore}from'../../commands/menu/shared/update-core.js';import{selectMenusForUpdate}from'../../commands/menu/shared/update-core.js';import{isInProject}from'../../context.js';export const menuAssetUpdate={'service':a115_0x19c3c5(0x1ae),'command':a115_0x19c3c5(0x181),'description':a115_0x19c3c5(0x1b4),'risk':a115_0x19c3c5(0x191),'flags':[{'name':a115_0x19c3c5(0x1bf),'type':a115_0x19c3c5(0x188),'description':a115_0x19c3c5(0x18f)+a115_0x19c3c5(0x189)},{'name':a115_0x19c3c5(0x192),'type':a115_0x19c3c5(0x188),'description':a115_0x19c3c5(0x198)+a115_0x19c3c5(0x193),'enum':['replace','patch'],'default':a115_0x19c3c5(0x1c9)},{'name':a115_0x19c3c5(0x17a),'type':a115_0x19c3c5(0x1ca),'description':a115_0x19c3c5(0x179)},{'name':a115_0x19c3c5(0x1c5),'type':a115_0x19c3c5(0x188),'description':'Exact\x20comma-separated\x20menu\x20IDs\x20to\x20update'},{'name':a115_0x19c3c5(0x17d),'type':a115_0x19c3c5(0x188),'description':a115_0x19c3c5(0x1c0)},{'name':'all','type':a115_0x19c3c5(0x1ca),'description':'Explicitly\x20update\x20every\x20menu\x20that\x20has\x20resources'},{'name':'load-mode','type':a115_0x19c3c5(0x188),'enum':[a115_0x19c3c5(0x1c1),a115_0x19c3c5(0x17e),a115_0x19c3c5(0x1af)],'description':a115_0x19c3c5(0x19e)}],async 'dryRun'(_0x358af6){const _0xeec3d3=a115_0x19c3c5;ensureRunnableContext(_0x358af6[_0xeec3d3(0x1b6)],_0x358af6[_0xeec3d3(0x19c)]);const _0x500055=await runMenuUpdateCore(_0x358af6[_0xeec3d3(0x17c)],_0x358af6[_0xeec3d3(0x1a9)],_0x358af6['str'](_0xeec3d3(0x1bf)),{'mode':parseMode(_0x358af6[_0xeec3d3(0x1ac)](_0xeec3d3(0x192))),'dryRun':!![],'force':_0x358af6['bool'](_0xeec3d3(0x17a)),'selection':parseSelection(_0x358af6),'loadScriptMode':parseLoadScriptMode(_0x358af6['str'](_0xeec3d3(0x1ba)))});return{'method':'POST','url':'/smartapi/menu/update','body':_0x500055,'description':_0x500055['skipped']?_0xeec3d3(0x19f):_0xeec3d3(0x182)+(_0x500055[_0xeec3d3(0x17b)]?.['length']??0x0)+_0xeec3d3(0x1cd)};},async 'execute'(_0x3283e7){const _0x1fca47=a115_0x19c3c5;ensureRunnableContext(_0x3283e7[_0x1fca47(0x1b6)],_0x3283e7[_0x1fca47(0x19c)]);const _0x2a0966=_0x3283e7[_0x1fca47(0x1ac)](_0x1fca47(0x1bf)),_0x377efa=parseMode(_0x3283e7['str'](_0x1fca47(0x192))),_0x500a79=_0x3283e7[_0x1fca47(0x18d)](_0x1fca47(0x17a)),_0x4d8348=parseLoadScriptMode(_0x3283e7['str'](_0x1fca47(0x1ba))),_0x124287=parseParams(_0x2a0966),_0x92b107=!!(_0x124287[_0x1fca47(0x183)]||_0x124287['cssUrl']);if(_0x92b107){const _0xfd3b28=await runMenuUpdateCore(_0x3283e7[_0x1fca47(0x17c)],_0x3283e7['cookie'],_0x2a0966,{'mode':_0x377efa,'force':_0x500a79,'selection':parseSelection(_0x3283e7),'loadScriptMode':_0x4d8348});return _0xfd3b28['skipped']?writeCliSideChannelLine(_0x1fca47(0x195)):(writeCliSideChannelLine(_0x1fca47(0x186)+_0xfd3b28[_0x1fca47(0x1c4)]+_0x1fca47(0x19b)),_0xfd3b28[_0x1fca47(0x1a6)]>0x0&&writeCliSideChannelLine('!\x20'+_0xfd3b28[_0x1fca47(0x1a6)]+_0x1fca47(0x1b1))),{'ok':_0xfd3b28[_0x1fca47(0x1a6)]===0x0,'data':_0xfd3b28,'message':_0xfd3b28[_0x1fca47(0x1ce)]?_0x1fca47(0x1ab):_0x1fca47(0x1c6)+_0xfd3b28['updated']+_0x1fca47(0x18c)+_0xfd3b28[_0x1fca47(0x1a6)]+_0x1fca47(0x180)};}requireInteractive();const _0x5f5226=startSpinner(_0x1fca47(0x1a4));let _0x3577d6;try{_0x3577d6=await fetchOnlineMenuList(_0x3283e7[_0x1fca47(0x17c)],_0x3283e7[_0x1fca47(0x1a9)]),stopSpinner(_0x5f5226,'Online\x20menu\x20list\x20fetched',!![]);}catch(_0x10068c){stopSpinner(_0x5f5226,'Failed\x20to\x20fetch\x20online\x20menu\x20list',![]);throw CliErrors[_0x1fca47(0x1cc)](_0x10068c instanceof Error?_0x10068c['message']:_0x1fca47(0x1cb));}const _0x18849e=filterMenusWithResources(_0x3577d6),_0x215d45=parseSelection(_0x3283e7,![]),_0xb404bb=_0x215d45?selectMenusForUpdate(_0x18849e,_0x215d45):_0x18849e;if(_0xb404bb['length']===0x0)return writeCliSideChannelLine(a115_0x285cd8[_0x1fca47(0x194)](_0x1fca47(0x1b2))),{'ok':!![]};writeCliSideChannelLine(''),writeCliSideChannelLine(a115_0x285cd8['cyan'](_0x1fca47(0x1c2)+_0xb404bb[_0x1fca47(0x1b0)]+'\x20menu(s)\x20with\x20existing\x20resources')),writeCliSideChannelLine(renderUpdateSummary(_0xb404bb[_0x1fca47(0x1a7)](_0x5f1068=>_0x5f1068['label']),[_0x124287[_0x1fca47(0x183)],_0x124287[_0x1fca47(0x190)]])),writeCliSideChannelLine('');let _0xb9f438=_0x124287[_0x1fca47(0x183)],_0x3d9506=_0x124287[_0x1fca47(0x190)];!_0xb9f438&&(_0xb9f438=await askJsUrl());!_0x3d9506&&(_0x3d9506=await askCssUrl());const _0x4cfe6e=await askConfirm(_0x1fca47(0x1b7)+_0xb404bb[_0x1fca47(0x1b0)]+_0x1fca47(0x1a2)+_0xb9f438+'\x20and\x20CSS:\x20'+_0x3d9506+'?');if(!_0x4cfe6e)return writeCliSideChannelLine(a115_0x285cd8[_0x1fca47(0x1a3)](_0x1fca47(0x1b5))),{'ok':!![]};const _0x2d345f=startSpinner(_0x1fca47(0x196)+_0xb404bb[_0x1fca47(0x1b0)]+'\x20menu(s)...');try{const _0x305ad2=await runMenuUpdateCore(_0x3283e7['appCode'],_0x3283e7['cookie'],JSON[_0x1fca47(0x197)]({'jsUrl':_0xb9f438,'cssUrl':_0x3d9506}),{'mode':_0x377efa,'force':_0x500a79,'selection':{'all':![],'menuIds':_0xb404bb['map'](_0x52e0f1=>_0x52e0f1['id']),'paths':[]},'loadScriptMode':_0x4d8348});return stopSpinner(_0x2d345f,'Updated\x20'+_0x305ad2['updated']+'\x20menu(s)',_0x305ad2[_0x1fca47(0x1a6)]===0x0),{'ok':_0x305ad2[_0x1fca47(0x1a6)]===0x0,'data':_0x305ad2,'message':_0x305ad2[_0x1fca47(0x1a6)]>0x0?'Menu\x20asset\x20update\x20completed:\x20'+_0x305ad2['updated']+_0x1fca47(0x18c)+_0x305ad2[_0x1fca47(0x1a6)]+_0x1fca47(0x180):_0x1fca47(0x1c6)+_0x305ad2[_0x1fca47(0x1c4)]+_0x1fca47(0x18a)};}catch(_0x5e4167){stopSpinner(_0x2d345f,_0x1fca47(0x18e),![]);throw CliErrors[_0x1fca47(0x1cc)](_0x5e4167 instanceof Error?_0x5e4167[_0x1fca47(0x17f)]:'Menu\x20asset\x20update\x20failed');}}};function ensureRunnableContext(_0x358f1c,_0x1757f6){const _0x903357=a115_0x19c3c5,_0xbed38f=_0x358f1c[_0x903357(0x1aa)]?String(_0x358f1c[_0x903357(0x1aa)])['trim']():'';if(!isInProject()&&!_0x1757f6&&!_0xbed38f)throw CliErrors[_0x903357(0x1cc)](_0x903357(0x1c7)+_0x903357(0x184));}function a115_0x4123(){const _0x3437f7=['jsUrl','Run\x20inside\x20a\x20directory\x20with\x20.rabetbase.json,\x20or\x20pass\x20--appcode\x20<code>.','Invalid\x20--mode.\x20Allowed\x20values:\x20replace,\x20patch','✓\x20Menu\x20asset\x20update\x20completed:\x20','menu\x20asset-update\x20requires\x20an\x20explicit\x20target:\x20pass\x20--all,\x20--menu-ids,\x20or\x20--paths.','string','JSON:\x20{\x22jsUrl\x22:\x22https://...js\x22,\x22cssUrl\x22:\x22https://...css\x22}','\x20updated.','--menu-ids\x20must\x20contain\x20positive\x20safe\x20integers.','\x20updated,\x20','bool','Menu\x20asset\x20update\x20failed','Pre-fill\x20JS/CSS\x20URLs\x20to\x20update.\x20','cssUrl','write','mode','patch\x20replaces\x20a\x20supplied\x20type\x20only\x20when\x20the\x20existing\x20target\x20is\x20unambiguous','yellow','!\x20No\x20menus\x20with\x20existing\x20resources\x20found','Updating\x20','stringify','Resource\x20update\x20mode:\x20replace\x20rewrites\x20resources\x20from\x20supplied\x20URLs;\x20','659223nPyKFl','4PJkyke','\x20menu(s)\x20updated','selectedAppName','trim','Explicitly\x20change\x20the\x20microfrontend\x20resource\x20loading\x20mode','No\x20menus\x20with\x20existing\x20resources\x20would\x20be\x20updated.','Invalid\x20--load-mode.\x20Allowed\x20values:\x20import,\x20script,\x20fetch','1617210CPVdaX','\x20menu(s)\x20with\x20JS:\x20','gray','Fetching\x20online\x20menu\x20list...','isArray','failed','map','replace','cookie','appcode','Menu\x20asset\x20update\x20skipped','str','parse','menu','fetch','length','\x20menu(s)\x20failed','\x20\x20!\x20No\x20menus\x20with\x20existing\x20resources\x20found','42405qCfxpD','Update\x20CDN\x20asset\x20URLs\x20for\x20selected\x20online\x20menus\x20with\x20existing\x20resources','\x20\x20Cancelled.','rawFlags','\x20\x20Update\x20','some','2ExlNjf','load-mode','73665IUTJlS','200xeWvtM','split','--all\x20cannot\x20be\x20combined\x20with\x20--menu-ids\x20or\x20--paths.','params','Exact\x20comma-separated\x20menu\x20paths\x20to\x20update','import','\x20\x20Found\x20','342740pmrYHa','updated','menu-ids','Menu\x20asset\x20update\x20completed:\x20','menu\x20asset-update\x20requires\x20a\x20project\x20context\x20or\x20explicit\x20--appcode.\x20','453258QLUFbU','patch','boolean','Failed\x20to\x20fetch\x20online\x20menu\x20list','validation','\x20menu\x20resource\x20set(s).','skipped','151665uypbzx','Allow\x20replace\x20mode\x20to\x20remove\x20existing\x20JS\x20resources','force','diffs','appCode','paths','script','message','\x20failed.','asset-update','Would\x20update\x20'];a115_0x4123=function(){return _0x3437f7;};return a115_0x4123();}function parseMode(_0x41989e){const _0x477516=a115_0x19c3c5;if(!_0x41989e)return _0x477516(0x1c9);if(_0x41989e===_0x477516(0x1a8)||_0x41989e==='patch')return _0x41989e;throw CliErrors[_0x477516(0x1cc)](_0x477516(0x185));}function parseSelection(_0x3d8f88,_0x30d5ae=!![]){const _0x4a9751=a115_0x19c3c5,_0x7fd176=_0x3d8f88[_0x4a9751(0x18d)]('all'),_0x1ef7f7=parseMenuIds(_0x3d8f88['str']('menu-ids')),_0x5bbd1c=parseCsv(_0x3d8f88['str'](_0x4a9751(0x17d))),_0x3e3f1c=_0x1ef7f7[_0x4a9751(0x1b0)]>0x0||_0x5bbd1c[_0x4a9751(0x1b0)]>0x0;if(_0x7fd176&&_0x3e3f1c)throw CliErrors[_0x4a9751(0x1cc)](_0x4a9751(0x1be));if(!_0x7fd176&&!_0x3e3f1c){if(!_0x30d5ae)return undefined;throw CliErrors[_0x4a9751(0x1cc)](_0x4a9751(0x187));}return{'all':_0x7fd176,'menuIds':_0x1ef7f7,'paths':_0x5bbd1c};}function parseMenuIds(_0x20f3f0){const _0x277df1=a115_0x19c3c5,_0x4c58cb=parseCsv(_0x20f3f0),_0x530cf1=_0x4c58cb[_0x277df1(0x1a7)](Number);if(_0x530cf1[_0x277df1(0x1b8)](_0x53401e=>!Number['isSafeInteger'](_0x53401e)||_0x53401e<=0x0))throw CliErrors[_0x277df1(0x1cc)](_0x277df1(0x18b));return[...new Set(_0x530cf1)];}function parseCsv(_0x202f61){const _0xb9408a=a115_0x19c3c5;return[...new Set(_0x202f61[_0xb9408a(0x1bd)](',')['map'](_0xd12a20=>_0xd12a20['trim']())['filter'](Boolean))];}function parseLoadScriptMode(_0x5db14d){const _0x10cb39=a115_0x19c3c5;if(!_0x5db14d)return undefined;if(_0x5db14d===_0x10cb39(0x1c1)||_0x5db14d===_0x10cb39(0x17e)||_0x5db14d===_0x10cb39(0x1af))return _0x5db14d;throw CliErrors[_0x10cb39(0x1cc)](_0x10cb39(0x1a0));}function parseParams(_0x4e8734){const _0x3ac857=a115_0x19c3c5;if(!_0x4e8734)return{};try{const _0x2987e8=JSON[_0x3ac857(0x1ad)](_0x4e8734);if(typeof _0x2987e8!=='object'||_0x2987e8===null||Array[_0x3ac857(0x1a5)](_0x2987e8))return{};return{'jsUrl':typeof _0x2987e8[_0x3ac857(0x183)]===_0x3ac857(0x188)?_0x2987e8[_0x3ac857(0x183)][_0x3ac857(0x19d)]():undefined,'cssUrl':typeof _0x2987e8['cssUrl']===_0x3ac857(0x188)?_0x2987e8['cssUrl'][_0x3ac857(0x19d)]():undefined};}catch{return{};}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a111_0x351dd6=a111_0x1490;(function(_0x283903,_0x373b7b){const _0x56eaa7=a111_0x1490,_0x3d8a51=_0x283903();while(!![]){try{const _0x136098=parseInt(_0x56eaa7(0x1f4))/0x1+-parseInt(_0x56eaa7(0x205))/0x2*(parseInt(_0x56eaa7(0x1f8))/0x3)+parseInt(_0x56eaa7(0x1f2))/0x4+-parseInt(_0x56eaa7(0x232))/0x5+-parseInt(_0x56eaa7(0x242))/0x6*(parseInt(_0x56eaa7(0x220))/0x7)+parseInt(_0x56eaa7(0x20a))/0x8+-parseInt(_0x56eaa7(0x24f))/0x9;if(_0x136098===_0x373b7b)break;else _0x3d8a51['push'](_0x3d8a51['shift']());}catch(_0xb2e493){_0x3d8a51['push'](_0x3d8a51['shift']());}}}(a111_0x42fd,0x8f493));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{assertMenuDeletePlanCurrent,assertMenuDeletePlanExecutable,createMenuDeletePlanFile,mutationPlanFromDeleteFile,readMenuDeletePlan,writeMenuDeletePlan}from'../../commands/menu/shared/delete-plan.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,asVerificationError,assertExpectedState,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{batchDeleteMenuEntities}from'../../commands/menu/shared/service.js';function a111_0x42fd(){const _0xebcdd=['Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file','pages','verify\x20batch\x20delete','remainingIds','menu_tree_invalid','string','validation','menu_page_shared','Menu\x20','forEach','target','childrenIds','pageId','Would\x20batch\x20delete\x20','causeCode','toLowerCase','delete','Folder\x20','Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.','menu_delete_page_bound','boolean','menu_batch_delete_count_mismatch','\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.','rabetbase\x20menu\x20list\x20--format\x20json','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','selector','hash','3613460HqsVMo','join','1161141FHblZx','str','cookie','\x20and\x20cannot\x20be\x20deleted\x20safely.','33yTGtTD','page\x20','--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.','stringify','menu_verification_failed','\x20is\x20type\x20\x22','byId','plan','map','Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20','trim','POST','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence','21426BTolDf','\x20deleted\x20menus;\x20expected\x20','folder','):\x20','indexOf','7294768kFUMIp','unconfirmed','unknown','push','flagMissing','plan-out','dry-run','Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.','expect-parent-id','/smartapi/menu/batchDelete','\x20has\x20','\x20still\x20references\x20','Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first','childrenCount','\x20menu(s)\x20under\x20exact\x20id\x20','verification','Post-mismatch\x20menu\x20readback\x20failed\x20(','resources','Deleted\x20','menu_plan_invalid','deleteOrder','Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)','407302TXGgFS','read\x20menu\x20state\x20after\x20batch\x20delete\x20failure','plan\x20delete','message','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.','menu_folder_resources_invalid','Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.','\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.','Recursive\x20menu\x20delete\x20plan\x20root\x20','causeMessage','has','type','expect-path','batch-delete','cascade','filter','The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','expiresAt','2307940tvGJKs','menu_recursive_requires_folder','length','pre-write-plan-validation','Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20','menu','batch\x20delete','snapshot','Post-failure\x20menu\x20readback\x20failed\x20(',';\x20execution\x20must\x20consume\x20','failed','--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.','add','Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20','menu\x20list','bool','6ZaOSUg','\x20->\x20menu\x20','Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.','absentIds','expected-children-count','\x20references\x20missing\x20child\x20','--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.','plan-validation','\x20resource\x20URL(s).','recursive','menu_non_empty','appCode','Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20','15766524MviXnj','size','The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.','\x20is\x20not\x20a\x20folder.','The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.'];a111_0x42fd=function(){return _0xebcdd;};return a111_0x42fd();}import{CliError,CliErrors}from'../../errors.js';const BACKEND=[{'method':a111_0x351dd6(0x203),'path':a111_0x351dd6(0x213)}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':a111_0x351dd6(0x21f)},MENU_DELETE_RECURSIVE_FLAG={'name':a111_0x351dd6(0x24b),'type':a111_0x351dd6(0x1eb),'description':a111_0x351dd6(0x216)},MENU_DELETE_PLAN_OUT_FLAG={'name':a111_0x351dd6(0x20f),'type':a111_0x351dd6(0x259),'description':a111_0x351dd6(0x254)},MENU_DELETE_PLAN_FLAG={'name':a111_0x351dd6(0x1ff),'type':'string','description':'Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out'};export const menuDelete={'service':a111_0x351dd6(0x237),'command':a111_0x351dd6(0x264),'description':'Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','risk':'high-risk-write','structuredErrors':!![],'flags':[MENU_DELETE_ID_FLAG,MENU_DELETE_RECURSIVE_FLAG,MENU_DELETE_PLAN_OUT_FLAG,MENU_DELETE_PLAN_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x2a816e){const _0x533741=a111_0x351dd6;_0x2a816e[_0x533741(0x241)](_0x533741(0x210))?validateDeleteDryRunInput(_0x2a816e):validateDeleteExecuteInput(_0x2a816e),requireExplicitYes(_0x2a816e);},async 'dryRun'(_0x3a6ff1){const _0x438a3c=a111_0x351dd6;validateDeleteDryRunInput(_0x3a6ff1);const _0x164fec=await buildDeletePlan(_0x3a6ff1),_0x1c0c1a=createMenuDeletePlanFile(_0x3a6ff1['appCode'],_0x164fec),_0x1ea2d7=await writeMenuDeletePlan(_0x3a6ff1['str']('plan-out'),_0x1c0c1a),_0x5d5cab=mutationResult({..._0x164fec,'planFile':{'path':_0x1ea2d7,'createdAt':_0x1c0c1a['createdAt'],'expiresAt':_0x1c0c1a[_0x438a3c(0x231)]}});return menuDryRunResult(_0x5d5cab,{'method':_0x438a3c(0x203),'url':_0x438a3c(0x213),'body':{'idList':_0x5d5cab[_0x438a3c(0x21e)]},'description':_0x438a3c(0x261)+(_0x5d5cab[_0x438a3c(0x21e)]?.[_0x438a3c(0x234)]??0x1)+_0x438a3c(0x218)+_0x5d5cab[_0x438a3c(0x1f0)]['id']+_0x438a3c(0x23b)+_0x1ea2d7+'.'});},async 'execute'(_0x696607){const _0x16ad46=a111_0x351dd6;requireExplicitYes(_0x696607),validateDeleteExecuteInput(_0x696607);const _0x149334=await readMenuDeletePlan(_0x696607[_0x16ad46(0x1f5)](_0x16ad46(0x1ff))),_0x37485b=mutationPlanFromDeleteFile(_0x149334[_0x16ad46(0x1ff)],_0x149334['path']),_0xaa34c8=_0x149334[_0x16ad46(0x1ff)]['target']['id'];try{assertMenuDeletePlanExecutable(_0x149334[_0x16ad46(0x1ff)],_0x696607[_0x16ad46(0x24d)]);}catch(_0x1b904c){throw menuFailure(asMenuError(_0x1b904c),_0x37485b,{'stage':_0x16ad46(0x249),'failed':{'id':_0xaa34c8}});}let _0x500385,_0x56d86b;try{_0x500385=await fetchMutationSnapshot(_0x696607,'execute\x20reviewed\x20delete\x20plan',_0xaa34c8),_0x56d86b=assertMenuDeletePlanCurrent(_0x149334['plan'],_0x696607[_0x16ad46(0x24d)],_0x500385),assertDeleteTargetsComplete(_0x149334['plan'],_0x500385),_0x56d86b[_0x16ad46(0x25d)](_0x57a22c=>assertDeleteSafety(_0x57a22c,_0x149334[_0x16ad46(0x1ff)][_0x16ad46(0x24b)])),assertNoSharedPages(_0x500385,_0x56d86b),assertCascadeMatchesPlan(_0x37485b,_0x56d86b);}catch(_0x1ca989){throw menuFailure(asMenuError(_0x1ca989),_0x37485b,{'stage':_0x16ad46(0x235),'failed':{'id':_0xaa34c8}});}const _0x2ff7fc=_0x149334[_0x16ad46(0x1ff)][_0x16ad46(0x21e)];let _0x166616;try{_0x166616=await batchDeleteMenuEntities(_0x696607['cookie'],_0x2ff7fc);}catch(_0x2092e9){const _0x34a575=mapMenuApiError(_0x2092e9,_0x16ad46(0x238)),_0x14136d=[_0x16ad46(0x251)];let _0x5eb9eb;try{_0x5eb9eb=await readDeleteOutcome(_0x696607,_0x2ff7fc);}catch(_0x104b71){const _0x3b5117=describeMenuErrorCause(_0x104b71,_0x16ad46(0x221),_0xaa34c8);_0x14136d[_0x16ad46(0x20d)](_0x16ad46(0x23a)+_0x3b5117[_0x16ad46(0x262)]+_0x16ad46(0x208)+_0x3b5117[_0x16ad46(0x229)]);throw menuFailure(_0x34a575,_0x37485b,{'stage':'batch-delete','failed':{'targetIds':_0x2ff7fc,'targetIdsAbsent':_0x16ad46(0x20b),..._0x3b5117},'warnings':_0x14136d,'verification':{'status':_0x16ad46(0x23c),'lookupCommand':_0x16ad46(0x1ee),'targetIds':_0x2ff7fc}});}throw menuFailure(_0x34a575,_0x37485b,{'stage':'batch-delete','succeeded':_0x5eb9eb[_0x16ad46(0x245)]['map'](_0x17d167=>({'id':_0x17d167,'deleted':!![]})),'failed':{'targetIds':_0x2ff7fc,'absentIds':_0x5eb9eb[_0x16ad46(0x245)],'remainingIds':_0x5eb9eb['remainingIds']},'warnings':_0x14136d,'verification':verificationFromOutcome(_0x5eb9eb)});}if(_0x166616!==_0x2ff7fc[_0x16ad46(0x234)]){const _0x3ec12d=menuError(_0x16ad46(0x1ec),'Backend\x20reported\x20'+_0x166616+_0x16ad46(0x206)+_0x2ff7fc[_0x16ad46(0x234)]+'.',_0x16ad46(0x1ef)),_0x4e639c=['The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.'];let _0x5262d7;try{_0x5262d7=await readDeleteOutcome(_0x696607,_0x2ff7fc);}catch(_0x489f06){const _0x350e4a=describeMenuErrorCause(_0x489f06,'read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch',_0xaa34c8);_0x4e639c['push'](_0x16ad46(0x21a)+_0x350e4a[_0x16ad46(0x262)]+_0x16ad46(0x208)+_0x350e4a[_0x16ad46(0x229)]);throw menuFailure(_0x3ec12d,_0x37485b,{'stage':_0x16ad46(0x22d),'failed':{'targetIds':_0x2ff7fc,'expectedCount':_0x2ff7fc[_0x16ad46(0x234)],'reportedDeletedCount':_0x166616,'targetIdsAbsent':'unconfirmed',..._0x350e4a},'warnings':_0x4e639c,'verification':{'status':'failed','lookupCommand':_0x16ad46(0x1ee),'targetIds':_0x2ff7fc}});}throw menuFailure(_0x3ec12d,_0x37485b,{'stage':_0x16ad46(0x22d),'succeeded':_0x5262d7[_0x16ad46(0x245)][_0x16ad46(0x200)](_0x2fe284=>({'id':_0x2fe284,'deleted':!![]})),'failed':{'targetIds':_0x2ff7fc,'expectedCount':_0x2ff7fc[_0x16ad46(0x234)],'reportedDeletedCount':_0x166616,'absentIds':_0x5262d7[_0x16ad46(0x245)],'remainingIds':_0x5262d7[_0x16ad46(0x257)]},'warnings':_0x4e639c,'verification':verificationFromOutcome(_0x5262d7)});}let _0x1a58e4;try{_0x1a58e4=await readDeleteOutcome(_0x696607,_0x2ff7fc);}catch(_0x56e97a){const _0x1ef176=describeMenuErrorCause(_0x56e97a,_0x16ad46(0x256),_0xaa34c8),_0x31513a=asVerificationError(_0x56e97a,'Batch\x20delete\x20request\x20for\x20menu\x20'+_0xaa34c8+_0x16ad46(0x204));throw menuFailure(_0x31513a,_0x37485b,{'stage':'verification','succeeded':_0x2ff7fc['map'](_0x3894aa=>({'id':_0x3894aa,'deleteRequested':!![]})),'failed':{'id':_0xaa34c8,'targetIds':_0x2ff7fc,'targetIdsAbsent':'unconfirmed',..._0x1ef176},'warnings':[_0x16ad46(0x230)],'verification':{'status':_0x16ad46(0x23c),'lookupCommand':_0x16ad46(0x1ee),'targetIds':_0x2ff7fc}});}if(_0x1a58e4[_0x16ad46(0x257)][_0x16ad46(0x234)]>0x0){const _0x2c0342=menuError(_0x16ad46(0x1fc),'One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20'+_0x1a58e4[_0x16ad46(0x257)][_0x16ad46(0x1f3)](',\x20')+'.',_0x16ad46(0x1ef));throw menuFailure(_0x2c0342,_0x37485b,{'stage':_0x16ad46(0x219),'succeeded':_0x2ff7fc['map'](_0x3fb182=>({'id':_0x3fb182,'deleteRequested':!![]})),'failed':{'id':_0xaa34c8,'targetIds':_0x2ff7fc,'absentIds':_0x1a58e4[_0x16ad46(0x245)],'remainingIds':_0x1a58e4['remainingIds']},'warnings':[_0x16ad46(0x253)],'verification':verificationFromOutcome(_0x1a58e4)});}const _0x2ba615=_0x2ff7fc[_0x16ad46(0x200)](_0x4b1139=>({'id':_0x4b1139,'deleted':!![]})),_0x2c45bb=mutationResult({..._0x37485b,'dryRun':![],'succeeded':_0x2ba615,'verification':{'checkedBy':_0x16ad46(0x240),'plannedSnapshotHash':_0x37485b['snapshotHash'],'finalSnapshotHash':_0x1a58e4['snapshot'][_0x16ad46(0x1f1)],'reportedDeletedCount':_0x166616,'targetAbsent':!_0x1a58e4[_0x16ad46(0x239)]['byId']['has'](_0xaa34c8),'allTargetsAbsent':!![],'targetIds':_0x2ff7fc}});return{'ok':!![],'data':_0x2c45bb,'message':_0x16ad46(0x21c)+_0x2ba615[_0x16ad46(0x234)]+_0x16ad46(0x218)+_0xaa34c8+'.'};}};async function readDeleteOutcome(_0xeeed1,_0x5be2ad){const _0x1b2de2=a111_0x351dd6,_0x4669e7=await fetchMenuSnapshot(_0xeeed1[_0x1b2de2(0x24d)],_0xeeed1[_0x1b2de2(0x1f6)]);return{'snapshot':_0x4669e7,'absentIds':_0x5be2ad[_0x1b2de2(0x22f)](_0x17e2fb=>!_0x4669e7[_0x1b2de2(0x1fe)][_0x1b2de2(0x22a)](_0x17e2fb)),'remainingIds':_0x5be2ad[_0x1b2de2(0x22f)](_0x2618f3=>_0x4669e7[_0x1b2de2(0x1fe)][_0x1b2de2(0x22a)](_0x2618f3))};}function verificationFromOutcome(_0x2258e6){const _0x3bdf6c=a111_0x351dd6;return{'checkedBy':'menu\x20list','absentIds':_0x2258e6['absentIds'],'remainingIds':_0x2258e6[_0x3bdf6c(0x257)]};}function validateDeleteDryRunInput(_0x40d8fa){const _0x27a3e7=a111_0x351dd6;validateExactId(_0x40d8fa);if(!hasFlag(_0x40d8fa,_0x27a3e7(0x20f))||!_0x40d8fa[_0x27a3e7(0x1f5)](_0x27a3e7(0x20f))[_0x27a3e7(0x202)]())throw CliErrors[_0x27a3e7(0x20e)](_0x27a3e7(0x20f),_0x27a3e7(0x248));if(hasFlag(_0x40d8fa,'plan'))throw CliErrors['validation'](_0x27a3e7(0x23d));}function validateDeleteExecuteInput(_0x2b9d52){const _0x4ebe3d=a111_0x351dd6;if(!hasFlag(_0x2b9d52,'plan')||!_0x2b9d52[_0x4ebe3d(0x1f5)](_0x4ebe3d(0x1ff))[_0x4ebe3d(0x202)]())throw CliErrors[_0x4ebe3d(0x20e)](_0x4ebe3d(0x1ff),_0x4ebe3d(0x1fa));const _0x2e4353=['id',_0x4ebe3d(0x24b),_0x4ebe3d(0x20f),_0x4ebe3d(0x212),_0x4ebe3d(0x22c),_0x4ebe3d(0x246)][_0x4ebe3d(0x22f)](_0x2be6f4=>hasFlag(_0x2b9d52,_0x2be6f4));if(_0x2e4353[_0x4ebe3d(0x234)]>0x0)throw CliErrors[_0x4ebe3d(0x25a)](_0x4ebe3d(0x201)+_0x2e4353[_0x4ebe3d(0x200)](_0x36e495=>'--'+_0x36e495)[_0x4ebe3d(0x1f3)](',\x20')+'.');}async function buildDeletePlan(_0x53ad22){const _0x150ea9=a111_0x351dd6,_0x5979e0=validateExactId(_0x53ad22),_0x1d4a77=await fetchMutationSnapshot(_0x53ad22,_0x150ea9(0x222),_0x5979e0),_0xe5ac18=requireMenu(_0x1d4a77,_0x5979e0);assertExpectedState(_0x53ad22,_0xe5ac18);const _0x52f338=_0x53ad22[_0x150ea9(0x241)]('recursive');let _0xb202ff;if(_0x52f338){if(_0xe5ac18[_0x150ea9(0x22b)]['trim']()[_0x150ea9(0x263)]()!==_0x150ea9(0x207))throw menuError(_0x150ea9(0x233),_0x150ea9(0x25c)+_0xe5ac18['id']+_0x150ea9(0x1fd)+(_0xe5ac18[_0x150ea9(0x22b)]||_0x150ea9(0x20c))+_0x150ea9(0x1ed));_0xb202ff=collectDeleteTargets(_0x1d4a77,_0xe5ac18),_0xb202ff['forEach'](_0xcd55c0=>assertDeleteSafety(_0xcd55c0,!![]));}else assertDeleteSafety(_0xe5ac18),_0xb202ff=[_0xe5ac18];assertNoSharedPages(_0x1d4a77,_0xb202ff);const _0x513623=_0xb202ff[_0x150ea9(0x200)](_0x5dd631=>_0x5dd631['id']),_0x2b4a06=cascadeForTargets(_0xb202ff),_0x30e3f7=_0x2b4a06[_0x150ea9(0x255)]['length']>0x0?[_0x150ea9(0x244)]:[];return mutationResult({'operation':'delete','selector':{'id':_0x5979e0,'recursive':_0x52f338},'before':_0xe5ac18,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':'batch-delete-menu','method':_0x150ea9(0x203),'path':_0x150ea9(0x213),'body':{'idList':_0x513623}}],'targets':_0xb202ff,'deleteOrder':_0x513623,'snapshotHash':_0x1d4a77[_0x150ea9(0x1f1)],'cascade':_0x2b4a06,'warnings':_0x30e3f7});}function assertDeleteSafety(_0x10e68b,_0xf18233=![]){const _0x364d0e=a111_0x351dd6,_0x1a2e09=_0x10e68b[_0x364d0e(0x22b)][_0x364d0e(0x202)]()[_0x364d0e(0x263)]()===_0x364d0e(0x207);if(_0x10e68b[_0x364d0e(0x217)]>0x0&&(!_0xf18233||!_0x1a2e09))throw menuError(_0x364d0e(0x24c),_0x364d0e(0x25c)+_0x10e68b['id']+_0x364d0e(0x214)+_0x10e68b[_0x364d0e(0x217)]+'\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.',_0x364d0e(0x236)+_0x10e68b[_0x364d0e(0x25f)]['join'](',\x20'));if(_0x1a2e09&&_0x10e68b[_0x364d0e(0x260)]!=null)throw menuError(_0x364d0e(0x1ea),_0x364d0e(0x265)+_0x10e68b['id']+'\x20is\x20unexpectedly\x20bound\x20to\x20page\x20'+_0x10e68b[_0x364d0e(0x260)]+_0x364d0e(0x1f7),_0x364d0e(0x266));if(!_0x1a2e09)return;if(!_0x10e68b['resourcesValid'])throw menuError(_0x364d0e(0x225),_0x364d0e(0x265)+_0x10e68b['id']+_0x364d0e(0x227),'Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.');if(_0x10e68b[_0x364d0e(0x21b)][_0x364d0e(0x234)]>0x0)throw menuError('menu_folder_has_resources',_0x364d0e(0x265)+_0x10e68b['id']+_0x364d0e(0x215)+_0x10e68b[_0x364d0e(0x21b)][_0x364d0e(0x234)]+_0x364d0e(0x24a),'Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.');}function collectDeleteTargets(_0x36059e,_0x1b8c2a){const _0x246709=[],_0x2ee0bc=new Set(),_0x2e8c70=new Set(),_0x22d2e6=_0x4acc05=>{const _0x14de98=a111_0x1490;if(_0x2ee0bc['has'](_0x4acc05['id']))throw menuError(_0x14de98(0x258),_0x14de98(0x24e)+_0x4acc05['id']+'.');if(_0x2e8c70[_0x14de98(0x22a)](_0x4acc05['id']))return;_0x2ee0bc[_0x14de98(0x23e)](_0x4acc05['id']);for(const _0x20f3a3 of _0x4acc05[_0x14de98(0x25f)]){const _0x34710e=_0x36059e['byId']['get'](_0x20f3a3);if(!_0x34710e)throw menuError(_0x14de98(0x258),_0x14de98(0x25c)+_0x4acc05['id']+_0x14de98(0x247)+_0x20f3a3+'.');_0x22d2e6(_0x34710e);}_0x2ee0bc[_0x14de98(0x264)](_0x4acc05['id']),_0x2e8c70[_0x14de98(0x23e)](_0x4acc05['id']),_0x246709[_0x14de98(0x20d)](_0x4acc05);};return _0x22d2e6(_0x1b8c2a),_0x246709;}function assertDeleteTargetsComplete(_0x53a2ae,_0x4cf72b){const _0x2c5650=a111_0x351dd6,_0x34a9db=requireMenu(_0x4cf72b,_0x53a2ae[_0x2c5650(0x25e)]['id']);if(_0x53a2ae[_0x2c5650(0x24b)]&&_0x34a9db[_0x2c5650(0x22b)][_0x2c5650(0x202)]()[_0x2c5650(0x263)]()!==_0x2c5650(0x207))throw menuError('menu_plan_invalid',_0x2c5650(0x228)+_0x34a9db['id']+_0x2c5650(0x252));const _0x250869=_0x53a2ae[_0x2c5650(0x24b)]?collectDeleteTargets(_0x4cf72b,_0x34a9db)['map'](_0x10926c=>_0x10926c['id']):[_0x34a9db['id']];if(JSON[_0x2c5650(0x1fb)](_0x53a2ae[_0x2c5650(0x21e)])!==JSON[_0x2c5650(0x1fb)](_0x250869))throw menuError(_0x2c5650(0x21d),_0x2c5650(0x226),'Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.');}function assertNoSharedPages(_0x133e96,_0x2d905d){const _0x110cea=a111_0x351dd6,_0xe9bf26=new Set(_0x2d905d['map'](_0x2ae2c2=>_0x2ae2c2['id'])),_0xdbd520=new Set(_0x2d905d[_0x110cea(0x200)](_0xf2b419=>_0xf2b419[_0x110cea(0x260)])[_0x110cea(0x22f)](_0x2ff56b=>_0x2ff56b!=null));if(_0xdbd520[_0x110cea(0x250)]===0x0)return;const _0x2d488a=_0x133e96['menus']['filter'](_0x376cb6=>!_0xe9bf26[_0x110cea(0x22a)](_0x376cb6['id'])&&_0x376cb6[_0x110cea(0x260)]!=null&&_0xdbd520[_0x110cea(0x22a)](_0x376cb6['pageId']));if(_0x2d488a[_0x110cea(0x234)]===0x0)return;const _0xe3ceef=_0x2d488a[_0x110cea(0x200)](_0xaac535=>_0x110cea(0x1f9)+_0xaac535[_0x110cea(0x260)]+_0x110cea(0x243)+_0xaac535['id'])[_0x110cea(0x1f3)](',\x20');throw menuError(_0x110cea(0x25b),_0x110cea(0x23f)+_0xe3ceef+'.',_0x110cea(0x224));}function assertCascadeMatchesPlan(_0x5b803c,_0x5d12f4){const _0x4fb119=a111_0x351dd6,_0x2bd977=cascadeForTargets(_0x5d12f4);if(JSON[_0x4fb119(0x1fb)](_0x5b803c[_0x4fb119(0x22e)])!==JSON['stringify'](_0x2bd977))throw menuError(_0x4fb119(0x21d),_0x4fb119(0x211));}function a111_0x1490(_0x53ed1e,_0x4c514f){_0x53ed1e=_0x53ed1e-0x1ea;const _0x42fd57=a111_0x42fd();let _0x14902a=_0x42fd57[_0x53ed1e];return _0x14902a;}function cascadeForTargets(_0x54a7e7){const _0x269660=a111_0x351dd6,_0x3b096f=_0x54a7e7['map'](_0x1fa7e2=>_0x1fa7e2[_0x269660(0x260)])[_0x269660(0x22f)](_0x243e7b=>_0x243e7b!=null)[_0x269660(0x22f)]((_0x454c56,_0x574580,_0xe98400)=>_0xe98400[_0x269660(0x209)](_0x454c56)===_0x574580);return{'pages':_0x3b096f,'pageSchemaAffected':_0x3b096f[_0x269660(0x234)]>0x0};}function asMenuError(_0x3a4645){const _0x295db3=a111_0x351dd6;return _0x3a4645 instanceof CliError?_0x3a4645:menuError(_0x295db3(0x21d),_0x3a4645 instanceof Error?_0x3a4645[_0x295db3(0x223)]:String(_0x3a4645));}
|
|
1
|
+
const a116_0x15db39=a116_0x469c;(function(_0x3593fb,_0x1638f7){const _0x2f0358=a116_0x469c,_0x55dbd4=_0x3593fb();while(!![]){try{const _0x36870e=-parseInt(_0x2f0358(0x118))/0x1+-parseInt(_0x2f0358(0x12b))/0x2+-parseInt(_0x2f0358(0x102))/0x3+parseInt(_0x2f0358(0x100))/0x4*(parseInt(_0x2f0358(0xcd))/0x5)+-parseInt(_0x2f0358(0x127))/0x6+-parseInt(_0x2f0358(0x107))/0x7+parseInt(_0x2f0358(0xee))/0x8;if(_0x36870e===_0x1638f7)break;else _0x55dbd4['push'](_0x55dbd4['shift']());}catch(_0x399de2){_0x55dbd4['push'](_0x55dbd4['shift']());}}}(a116_0x1310,0xedd6e));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{assertMenuDeletePlanCurrent,assertMenuDeletePlanExecutable,createMenuDeletePlanFile,mutationPlanFromDeleteFile,readMenuDeletePlan,writeMenuDeletePlan}from'../../commands/menu/shared/delete-plan.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,asVerificationError,assertExpectedState,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';function a116_0x469c(_0x2e50bf,_0x57f2b3){_0x2e50bf=_0x2e50bf-0xc1;const _0x1310c8=a116_0x1310();let _0x469cd4=_0x1310c8[_0x2e50bf];return _0x469cd4;}import{batchDeleteMenuEntities}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';function a116_0x1310(){const _0x34fa5a=['menu_non_empty','cookie','pre-write-plan-validation','--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.','join','batch-delete','filter','forEach','917818CYAbTB',';\x20execution\x20must\x20consume\x20','message','trim','Folder\x20','boolean','path','Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)','get','menu_delete_page_bound','Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20','plan','absentIds','read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch','\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.','10936782FTZVAv','menu_batch_delete_count_mismatch','folder','rabetbase\x20menu\x20list\x20--format\x20json','3577316IjQizk','appCode','verify\x20batch\x20delete','batch\x20delete','cascade','byId','childrenIds','Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file','expiresAt','failed','Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20','Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.','target','toLowerCase','The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.','\x20is\x20type\x20\x22','execute\x20reviewed\x20delete\x20plan','causeCode','unconfirmed','menu_folder_resources_invalid','\x20still\x20references\x20','The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.','type','validation','6920kPnMGh','push','Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.','menu\x20list','unknown','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence','createdAt','menu_tree_invalid','flagMissing','deleteOrder','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.','add','delete','str','childrenCount','POST','\x20menu(s)\x20under\x20exact\x20id\x20','batch-delete-menu','Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first','Recursive\x20menu\x20delete\x20plan\x20root\x20','--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.','string','snapshotHash','map','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.','menu_plan_invalid','menus','Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20','read\x20menu\x20state\x20after\x20batch\x20delete\x20failure','plan\x20delete','/smartapi/menu/batchDelete','has','resourcesValid','56217008mBdZWj','bool','Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.','expected-children-count','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','causeMessage','plan-validation','\x20is\x20not\x20a\x20folder.','pageId','hash','Batch\x20delete\x20request\x20for\x20menu\x20','stringify','Deleted\x20','Would\x20batch\x20delete\x20','\x20is\x20unexpectedly\x20bound\x20to\x20page\x20','page\x20','length','remainingIds','476BmaNmd','):\x20','4718724aCVAYz','indexOf','--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.','Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','menu_folder_has_resources','808157YTiwcd','dry-run','verification','\x20->\x20menu\x20','recursive','\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.','plan-out','Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.','Menu\x20'];a116_0x1310=function(){return _0x34fa5a;};return a116_0x1310();}const BACKEND=[{'method':a116_0x15db39(0xdc),'path':a116_0x15db39(0xeb)}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':a116_0x15db39(0x11f)},MENU_DELETE_RECURSIVE_FLAG={'name':a116_0x15db39(0x10b),'type':a116_0x15db39(0x11d),'description':a116_0x15db39(0xdf)},MENU_DELETE_PLAN_OUT_FLAG={'name':a116_0x15db39(0x10d),'type':a116_0x15db39(0xe2),'description':a116_0x15db39(0x132)},MENU_DELETE_PLAN_FLAG={'name':a116_0x15db39(0x123),'type':a116_0x15db39(0xe2),'description':'Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out'};export const menuDelete={'service':'menu','command':a116_0x15db39(0xd9),'description':a116_0x15db39(0x105),'risk':'high-risk-write','structuredErrors':!![],'flags':[MENU_DELETE_ID_FLAG,MENU_DELETE_RECURSIVE_FLAG,MENU_DELETE_PLAN_OUT_FLAG,MENU_DELETE_PLAN_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x52d10d){const _0x5ef444=a116_0x15db39;_0x52d10d[_0x5ef444(0xef)](_0x5ef444(0x108))?validateDeleteDryRunInput(_0x52d10d):validateDeleteExecuteInput(_0x52d10d),requireExplicitYes(_0x52d10d);},async 'dryRun'(_0x3d487e){const _0x25911f=a116_0x15db39;validateDeleteDryRunInput(_0x3d487e);const _0x4eb44c=await buildDeletePlan(_0x3d487e),_0x48a056=createMenuDeletePlanFile(_0x3d487e['appCode'],_0x4eb44c),_0x307fa6=await writeMenuDeletePlan(_0x3d487e[_0x25911f(0xda)](_0x25911f(0x10d)),_0x48a056),_0x3e47cc=mutationResult({..._0x4eb44c,'planFile':{'path':_0x307fa6,'createdAt':_0x48a056[_0x25911f(0xd3)],'expiresAt':_0x48a056[_0x25911f(0x133)]}});return menuDryRunResult(_0x3e47cc,{'method':_0x25911f(0xdc),'url':_0x25911f(0xeb),'body':{'idList':_0x3e47cc[_0x25911f(0xd6)]},'description':_0x25911f(0xfb)+(_0x3e47cc[_0x25911f(0xd6)]?.[_0x25911f(0xfe)]??0x1)+'\x20menu(s)\x20under\x20exact\x20id\x20'+_0x3e47cc['selector']['id']+_0x25911f(0x119)+_0x307fa6+'.'});},async 'execute'(_0x2bae7f){const _0x36f684=a116_0x15db39;requireExplicitYes(_0x2bae7f),validateDeleteExecuteInput(_0x2bae7f);const _0x17e51b=await readMenuDeletePlan(_0x2bae7f[_0x36f684(0xda)](_0x36f684(0x123))),_0x1289bc=mutationPlanFromDeleteFile(_0x17e51b[_0x36f684(0x123)],_0x17e51b[_0x36f684(0x11e)]),_0x72a356=_0x17e51b[_0x36f684(0x123)][_0x36f684(0xc1)]['id'];try{assertMenuDeletePlanExecutable(_0x17e51b['plan'],_0x2bae7f[_0x36f684(0x12c)]);}catch(_0x1bd49d){throw menuFailure(asMenuError(_0x1bd49d),_0x1289bc,{'stage':_0x36f684(0xf4),'failed':{'id':_0x72a356}});}let _0x101e22,_0x2628f4;try{_0x101e22=await fetchMutationSnapshot(_0x2bae7f,_0x36f684(0xc5),_0x72a356),_0x2628f4=assertMenuDeletePlanCurrent(_0x17e51b['plan'],_0x2bae7f[_0x36f684(0x12c)],_0x101e22),assertDeleteTargetsComplete(_0x17e51b['plan'],_0x101e22),_0x2628f4[_0x36f684(0x117)](_0x3f9864=>assertDeleteSafety(_0x3f9864,_0x17e51b[_0x36f684(0x123)]['recursive'])),assertNoSharedPages(_0x101e22,_0x2628f4),assertCascadeMatchesPlan(_0x1289bc,_0x2628f4);}catch(_0x4926bd){throw menuFailure(asMenuError(_0x4926bd),_0x1289bc,{'stage':_0x36f684(0x112),'failed':{'id':_0x72a356}});}const _0x499998=_0x17e51b[_0x36f684(0x123)][_0x36f684(0xd6)];let _0x1e95b2;try{_0x1e95b2=await batchDeleteMenuEntities(_0x2bae7f['cookie'],_0x499998);}catch(_0x4802b4){const _0x5da448=mapMenuApiError(_0x4802b4,_0x36f684(0x12e)),_0x2155b8=['The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.'];let _0x1f8abe;try{_0x1f8abe=await readDeleteOutcome(_0x2bae7f,_0x499998);}catch(_0x49f86f){const _0x30b34e=describeMenuErrorCause(_0x49f86f,_0x36f684(0xe9),_0x72a356);_0x2155b8[_0x36f684(0xce)]('Post-failure\x20menu\x20readback\x20failed\x20('+_0x30b34e[_0x36f684(0xc6)]+_0x36f684(0x101)+_0x30b34e[_0x36f684(0xf3)]);throw menuFailure(_0x5da448,_0x1289bc,{'stage':_0x36f684(0x115),'failed':{'targetIds':_0x499998,'targetIdsAbsent':_0x36f684(0xc7),..._0x30b34e},'warnings':_0x2155b8,'verification':{'status':_0x36f684(0x134),'lookupCommand':_0x36f684(0x12a),'targetIds':_0x499998}});}throw menuFailure(_0x5da448,_0x1289bc,{'stage':'batch-delete','succeeded':_0x1f8abe[_0x36f684(0x124)]['map'](_0x459531=>({'id':_0x459531,'deleted':!![]})),'failed':{'targetIds':_0x499998,'absentIds':_0x1f8abe[_0x36f684(0x124)],'remainingIds':_0x1f8abe[_0x36f684(0xff)]},'warnings':_0x2155b8,'verification':verificationFromOutcome(_0x1f8abe)});}if(_0x1e95b2!==_0x499998['length']){const _0x1f0c09=menuError(_0x36f684(0x128),'Backend\x20reported\x20'+_0x1e95b2+'\x20deleted\x20menus;\x20expected\x20'+_0x499998[_0x36f684(0xfe)]+'.',_0x36f684(0xf2)),_0x4614e4=[_0x36f684(0xc3)];let _0x33f762;try{_0x33f762=await readDeleteOutcome(_0x2bae7f,_0x499998);}catch(_0x1bb4d3){const _0x54a2b2=describeMenuErrorCause(_0x1bb4d3,_0x36f684(0x125),_0x72a356);_0x4614e4['push']('Post-mismatch\x20menu\x20readback\x20failed\x20('+_0x54a2b2[_0x36f684(0xc6)]+_0x36f684(0x101)+_0x54a2b2[_0x36f684(0xf3)]);throw menuFailure(_0x1f0c09,_0x1289bc,{'stage':'batch-delete','failed':{'targetIds':_0x499998,'expectedCount':_0x499998['length'],'reportedDeletedCount':_0x1e95b2,'targetIdsAbsent':'unconfirmed',..._0x54a2b2},'warnings':_0x4614e4,'verification':{'status':_0x36f684(0x134),'lookupCommand':_0x36f684(0x12a),'targetIds':_0x499998}});}throw menuFailure(_0x1f0c09,_0x1289bc,{'stage':_0x36f684(0x115),'succeeded':_0x33f762[_0x36f684(0x124)][_0x36f684(0xe4)](_0x369635=>({'id':_0x369635,'deleted':!![]})),'failed':{'targetIds':_0x499998,'expectedCount':_0x499998[_0x36f684(0xfe)],'reportedDeletedCount':_0x1e95b2,'absentIds':_0x33f762[_0x36f684(0x124)],'remainingIds':_0x33f762['remainingIds']},'warnings':_0x4614e4,'verification':verificationFromOutcome(_0x33f762)});}let _0xd388b3;try{_0xd388b3=await readDeleteOutcome(_0x2bae7f,_0x499998);}catch(_0x21a853){const _0x16de32=describeMenuErrorCause(_0x21a853,_0x36f684(0x12d),_0x72a356),_0x50e003=asVerificationError(_0x21a853,_0x36f684(0xf8)+_0x72a356+_0x36f684(0xd2));throw menuFailure(_0x50e003,_0x1289bc,{'stage':_0x36f684(0x109),'succeeded':_0x499998[_0x36f684(0xe4)](_0x4018e9=>({'id':_0x4018e9,'deleteRequested':!![]})),'failed':{'id':_0x72a356,'targetIds':_0x499998,'targetIdsAbsent':_0x36f684(0xc7),..._0x16de32},'warnings':['The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.'],'verification':{'status':_0x36f684(0x134),'lookupCommand':_0x36f684(0x12a),'targetIds':_0x499998}});}if(_0xd388b3[_0x36f684(0xff)]['length']>0x0){const _0x4150ea=menuError('menu_verification_failed','One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20'+_0xd388b3[_0x36f684(0xff)][_0x36f684(0x114)](',\x20')+'.',_0x36f684(0xf2));throw menuFailure(_0x4150ea,_0x1289bc,{'stage':'verification','succeeded':_0x499998['map'](_0x36947d=>({'id':_0x36947d,'deleteRequested':!![]})),'failed':{'id':_0x72a356,'targetIds':_0x499998,'absentIds':_0xd388b3[_0x36f684(0x124)],'remainingIds':_0xd388b3['remainingIds']},'warnings':[_0x36f684(0xca)],'verification':verificationFromOutcome(_0xd388b3)});}const _0x17b349=_0x499998[_0x36f684(0xe4)](_0x57339f=>({'id':_0x57339f,'deleted':!![]})),_0x3b7993=mutationResult({..._0x1289bc,'dryRun':![],'succeeded':_0x17b349,'verification':{'checkedBy':_0x36f684(0xd0),'plannedSnapshotHash':_0x1289bc[_0x36f684(0xe3)],'finalSnapshotHash':_0xd388b3['snapshot'][_0x36f684(0xf7)],'reportedDeletedCount':_0x1e95b2,'targetAbsent':!_0xd388b3['snapshot'][_0x36f684(0x130)][_0x36f684(0xec)](_0x72a356),'allTargetsAbsent':!![],'targetIds':_0x499998}});return{'ok':!![],'data':_0x3b7993,'message':_0x36f684(0xfa)+_0x17b349['length']+_0x36f684(0xdd)+_0x72a356+'.'};}};async function readDeleteOutcome(_0x2d4a82,_0x1c146f){const _0x2de292=a116_0x15db39,_0x42e116=await fetchMenuSnapshot(_0x2d4a82['appCode'],_0x2d4a82[_0x2de292(0x111)]);return{'snapshot':_0x42e116,'absentIds':_0x1c146f[_0x2de292(0x116)](_0x1db533=>!_0x42e116[_0x2de292(0x130)][_0x2de292(0xec)](_0x1db533)),'remainingIds':_0x1c146f['filter'](_0x4c1e24=>_0x42e116[_0x2de292(0x130)]['has'](_0x4c1e24))};}function verificationFromOutcome(_0xd8b568){const _0x26c310=a116_0x15db39;return{'checkedBy':'menu\x20list','absentIds':_0xd8b568['absentIds'],'remainingIds':_0xd8b568[_0x26c310(0xff)]};}function validateDeleteDryRunInput(_0x14d062){const _0x4a1cde=a116_0x15db39;validateExactId(_0x14d062);if(!hasFlag(_0x14d062,_0x4a1cde(0x10d))||!_0x14d062[_0x4a1cde(0xda)]('plan-out')['trim']())throw CliErrors[_0x4a1cde(0xd5)]('plan-out',_0x4a1cde(0x113));if(hasFlag(_0x14d062,_0x4a1cde(0x123)))throw CliErrors[_0x4a1cde(0xcc)](_0x4a1cde(0x104));}function validateDeleteExecuteInput(_0x2149dd){const _0x2b8300=a116_0x15db39;if(!hasFlag(_0x2149dd,'plan')||!_0x2149dd['str'](_0x2b8300(0x123))[_0x2b8300(0x11b)]())throw CliErrors[_0x2b8300(0xd5)]('plan',_0x2b8300(0xe1));const _0x4fc9bb=['id',_0x2b8300(0x10b),_0x2b8300(0x10d),'expect-parent-id','expect-path',_0x2b8300(0xf1)]['filter'](_0x1d65d9=>hasFlag(_0x2149dd,_0x1d65d9));if(_0x4fc9bb[_0x2b8300(0xfe)]>0x0)throw CliErrors['validation']('Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20'+_0x4fc9bb[_0x2b8300(0xe4)](_0x41dea8=>'--'+_0x41dea8)['join'](',\x20')+'.');}async function buildDeletePlan(_0x5e6004){const _0x157eaf=a116_0x15db39,_0x4e698c=validateExactId(_0x5e6004),_0x15aca8=await fetchMutationSnapshot(_0x5e6004,_0x157eaf(0xea),_0x4e698c),_0x2e4b15=requireMenu(_0x15aca8,_0x4e698c);assertExpectedState(_0x5e6004,_0x2e4b15);const _0x171490=_0x5e6004[_0x157eaf(0xef)]('recursive');let _0x2c3598;if(_0x171490){if(_0x2e4b15[_0x157eaf(0xcb)][_0x157eaf(0x11b)]()[_0x157eaf(0xc2)]()!=='folder')throw menuError('menu_recursive_requires_folder',_0x157eaf(0x10f)+_0x2e4b15['id']+_0x157eaf(0xc4)+(_0x2e4b15[_0x157eaf(0xcb)]||_0x157eaf(0xd1))+_0x157eaf(0x126));_0x2c3598=collectDeleteTargets(_0x15aca8,_0x2e4b15),_0x2c3598['forEach'](_0x296029=>assertDeleteSafety(_0x296029,!![]));}else assertDeleteSafety(_0x2e4b15),_0x2c3598=[_0x2e4b15];assertNoSharedPages(_0x15aca8,_0x2c3598);const _0x1c5c60=_0x2c3598['map'](_0x32c658=>_0x32c658['id']),_0x509e9b=cascadeForTargets(_0x2c3598),_0x22aff9=_0x509e9b['pages'][_0x157eaf(0xfe)]>0x0?[_0x157eaf(0xf0)]:[];return mutationResult({'operation':_0x157eaf(0xd9),'selector':{'id':_0x4e698c,'recursive':_0x171490},'before':_0x2e4b15,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':_0x157eaf(0xde),'method':'POST','path':_0x157eaf(0xeb),'body':{'idList':_0x1c5c60}}],'targets':_0x2c3598,'deleteOrder':_0x1c5c60,'snapshotHash':_0x15aca8[_0x157eaf(0xf7)],'cascade':_0x509e9b,'warnings':_0x22aff9});}function assertDeleteSafety(_0x4f7425,_0x365a7c=![]){const _0x84f0ce=a116_0x15db39,_0x37199b=_0x4f7425[_0x84f0ce(0xcb)][_0x84f0ce(0x11b)]()[_0x84f0ce(0xc2)]()===_0x84f0ce(0x129);if(_0x4f7425[_0x84f0ce(0xdb)]>0x0&&(!_0x365a7c||!_0x37199b))throw menuError(_0x84f0ce(0x110),_0x84f0ce(0x10f)+_0x4f7425['id']+'\x20has\x20'+_0x4f7425[_0x84f0ce(0xdb)]+'\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.',_0x84f0ce(0xe8)+_0x4f7425[_0x84f0ce(0x131)]['join'](',\x20'));if(_0x37199b&&_0x4f7425['pageId']!=null)throw menuError(_0x84f0ce(0x121),_0x84f0ce(0x11c)+_0x4f7425['id']+_0x84f0ce(0xfc)+_0x4f7425['pageId']+'\x20and\x20cannot\x20be\x20deleted\x20safely.',_0x84f0ce(0xcf));if(!_0x37199b)return;if(!_0x4f7425[_0x84f0ce(0xed)])throw menuError(_0x84f0ce(0xc8),_0x84f0ce(0x11c)+_0x4f7425['id']+_0x84f0ce(0x10c),_0x84f0ce(0x10e));if(_0x4f7425['resources'][_0x84f0ce(0xfe)]>0x0)throw menuError(_0x84f0ce(0x106),_0x84f0ce(0x11c)+_0x4f7425['id']+_0x84f0ce(0xc9)+_0x4f7425['resources']['length']+'\x20resource\x20URL(s).','Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.');}function collectDeleteTargets(_0x199cc4,_0x54ba67){const _0x3f79c8=[],_0x47011a=new Set(),_0xf5f0da=new Set(),_0x186cd8=_0x248775=>{const _0x514a51=a116_0x469c;if(_0x47011a[_0x514a51(0xec)](_0x248775['id']))throw menuError(_0x514a51(0xd4),_0x514a51(0x135)+_0x248775['id']+'.');if(_0xf5f0da[_0x514a51(0xec)](_0x248775['id']))return;_0x47011a[_0x514a51(0xd8)](_0x248775['id']);for(const _0x346e6c of _0x248775[_0x514a51(0x131)]){const _0x401f52=_0x199cc4['byId'][_0x514a51(0x120)](_0x346e6c);if(!_0x401f52)throw menuError('menu_tree_invalid',_0x514a51(0x10f)+_0x248775['id']+'\x20references\x20missing\x20child\x20'+_0x346e6c+'.');_0x186cd8(_0x401f52);}_0x47011a[_0x514a51(0xd9)](_0x248775['id']),_0xf5f0da[_0x514a51(0xd8)](_0x248775['id']),_0x3f79c8['push'](_0x248775);};return _0x186cd8(_0x54ba67),_0x3f79c8;}function assertDeleteTargetsComplete(_0x116e0e,_0x4dcab2){const _0x28fb01=a116_0x15db39,_0x350378=requireMenu(_0x4dcab2,_0x116e0e[_0x28fb01(0xc1)]['id']);if(_0x116e0e[_0x28fb01(0x10b)]&&_0x350378[_0x28fb01(0xcb)]['trim']()[_0x28fb01(0xc2)]()!=='folder')throw menuError(_0x28fb01(0xe6),_0x28fb01(0xe0)+_0x350378['id']+_0x28fb01(0xf5));const _0x52a15a=_0x116e0e[_0x28fb01(0x10b)]?collectDeleteTargets(_0x4dcab2,_0x350378)['map'](_0x21c444=>_0x21c444['id']):[_0x350378['id']];if(JSON['stringify'](_0x116e0e['deleteOrder'])!==JSON[_0x28fb01(0xf9)](_0x52a15a))throw menuError(_0x28fb01(0xe6),_0x28fb01(0x136),_0x28fb01(0xe5));}function assertNoSharedPages(_0xbb1255,_0x3ae1b1){const _0x2d3b6e=a116_0x15db39,_0x1fc0b4=new Set(_0x3ae1b1[_0x2d3b6e(0xe4)](_0x2f05c4=>_0x2f05c4['id'])),_0x487304=new Set(_0x3ae1b1[_0x2d3b6e(0xe4)](_0x3ef384=>_0x3ef384[_0x2d3b6e(0xf6)])['filter'](_0x2c2040=>_0x2c2040!=null));if(_0x487304['size']===0x0)return;const _0x4fdbbe=_0xbb1255[_0x2d3b6e(0xe7)][_0x2d3b6e(0x116)](_0x3f8300=>!_0x1fc0b4['has'](_0x3f8300['id'])&&_0x3f8300[_0x2d3b6e(0xf6)]!=null&&_0x487304[_0x2d3b6e(0xec)](_0x3f8300['pageId']));if(_0x4fdbbe['length']===0x0)return;const _0x2e56e2=_0x4fdbbe[_0x2d3b6e(0xe4)](_0x535a08=>_0x2d3b6e(0xfd)+_0x535a08[_0x2d3b6e(0xf6)]+_0x2d3b6e(0x10a)+_0x535a08['id'])[_0x2d3b6e(0x114)](',\x20');throw menuError('menu_page_shared',_0x2d3b6e(0x122)+_0x2e56e2+'.',_0x2d3b6e(0xd7));}function assertCascadeMatchesPlan(_0x2e88bd,_0x109291){const _0x3f3a06=a116_0x15db39,_0x52f385=cascadeForTargets(_0x109291);if(JSON['stringify'](_0x2e88bd[_0x3f3a06(0x12f)])!==JSON['stringify'](_0x52f385))throw menuError(_0x3f3a06(0xe6),'Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.');}function cascadeForTargets(_0x419617){const _0x175ce6=a116_0x15db39,_0x124739=_0x419617['map'](_0x55ed1e=>_0x55ed1e[_0x175ce6(0xf6)])[_0x175ce6(0x116)](_0x1ab0d3=>_0x1ab0d3!=null)['filter']((_0x2617aa,_0x1877b3,_0x174922)=>_0x174922[_0x175ce6(0x103)](_0x2617aa)===_0x1877b3);return{'pages':_0x124739,'pageSchemaAffected':_0x124739['length']>0x0};}function asMenuError(_0x476a4d){const _0x59b00e=a116_0x15db39;return _0x476a4d instanceof CliError?_0x476a4d:menuError(_0x59b00e(0xe6),_0x476a4d instanceof Error?_0x476a4d[_0x59b00e(0x11a)]:String(_0x476a4d));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a112_0x1c6442=a112_0x147d;(function(_0x4d4626,_0x32a31a){const _0x212547=a112_0x147d,_0x2b00be=_0x4d4626();while(!![]){try{const _0x382897=parseInt(_0x212547(0x1b1))/0x1+-parseInt(_0x212547(0x1a6))/0x2*(-parseInt(_0x212547(0x17d))/0x3)+parseInt(_0x212547(0x1b3))/0x4+parseInt(_0x212547(0x13b))/0x5*(-parseInt(_0x212547(0x1a4))/0x6)+parseInt(_0x212547(0x1b4))/0x7+parseInt(_0x212547(0x179))/0x8+-parseInt(_0x212547(0x177))/0x9;if(_0x382897===_0x32a31a)break;else _0x2b00be['push'](_0x2b00be['shift']());}catch(_0x20577d){_0x2b00be['push'](_0x2b00be['shift']());}}}(a112_0x51c1,0x900e0));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_0x1c6442(0x143),'new-window':'link'};export function validateExternalMenuUrl(_0x32b754){const _0x474b31=a112_0x1c6442,_0x5591ec=_0x32b754[_0x474b31(0x150)]();let _0x190ad7;try{_0x190ad7=new URL(_0x5591ec);}catch{throw menuError(_0x474b31(0x18e),'External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.',_0x474b31(0x1aa));}if(_0x190ad7[_0x474b31(0x13f)]!==_0x474b31(0x195))throw menuError('menu_url_https_required',_0x474b31(0x14d),_0x474b31(0x15b));if(_0x190ad7[_0x474b31(0x16f)]||_0x190ad7[_0x474b31(0x193)])throw menuError('menu_url_credentials_forbidden','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.',_0x474b31(0x14b));return _0x5591ec;}export const menuExternalLinkCreate={'service':'menu','command':a112_0x1c6442(0x1a5),'description':a112_0x1c6442(0x173),'risk':'write','structuredErrors':!![],'flags':[{'name':'label','type':'string','required':!![],'description':a112_0x1c6442(0x198)},{'name':a112_0x1c6442(0x151),'type':a112_0x1c6442(0x192),'required':!![],'enum':['embedded',a112_0x1c6442(0x180)],'description':a112_0x1c6442(0x1ad)},{'name':a112_0x1c6442(0x186),'type':'string','required':!![],'description':a112_0x1c6442(0x199)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':'visible','type':a112_0x1c6442(0x12e),'default':!![],'description':a112_0x1c6442(0x134)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x171d45){validateAddInput(_0x171d45);},async 'dryRun'(_0x2a8e5f){const _0x217cbc=a112_0x1c6442;validateAddInput(_0x2a8e5f);const {plan:_0x39ac40}=await buildSafeAddPlan(_0x2a8e5f,!![]),_0x9a8e54=_0x39ac40[_0x217cbc(0x154)],_0x7be26f=createBody(_0x9a8e54);return menuDryRunResult(_0x39ac40,{'method':_0x217cbc(0x176),'url':_0x217cbc(0x1a1),'body':_0x7be26f,'description':_0x217cbc(0x136)+JSON['stringify'](_0x9a8e54[_0x217cbc(0x196)])+_0x217cbc(0x15d)+_0x2a8e5f[_0x217cbc(0x141)]('open-mode')+_0x217cbc(0x1a7)});},async 'execute'(_0x51371d){const _0xf6c55b=a112_0x1c6442;validateAddInput(_0x51371d);const _0x152823=await buildSafeAddPlan(_0x51371d,![]),{plan:_0x592646,snapshot:_0x16c8ea}=_0x152823,_0x118a4c=_0x592646[_0xf6c55b(0x154)],_0xe920a5=buildMenuLookupCommand(_0x51371d[_0xf6c55b(0x19e)]);await recheckAddSnapshot(_0x51371d,_0x592646);let _0x31827f;try{_0x31827f=await createMenuEntity(_0x51371d[_0xf6c55b(0x19e)],_0x51371d['cookie'],createBody(_0x118a4c));}catch(_0x34793f){const _0x1e4dda=mapMenuApiError(_0x34793f,_0xf6c55b(0x140));if(!isMenuResponseLoss(_0x34793f)||_0x1e4dda[_0xf6c55b(0x168)]==='menu_permission_denied')throw externalLinkCreateFailure(_0x1e4dda,_0x592646,{'stage':_0xf6c55b(0x1af),'failed':{},'verification':{'status':_0xf6c55b(0x158),'lookupCommand':_0xe920a5}});return recoverAfterResponseLoss(_0x51371d,_0x152823,_0xe920a5);}const _0x1c2f39=Number(_0x31827f?.['id']),_0x4dcbb3=typeof _0x31827f?.['path']===_0xf6c55b(0x192)?_0x31827f[_0xf6c55b(0x16e)]:'';if(!Number[_0xf6c55b(0x152)](_0x1c2f39)||_0x1c2f39<=0x0||!_0x4dcbb3[_0xf6c55b(0x150)]()){const _0x2f50d6=menuError(_0xf6c55b(0x148),_0xf6c55b(0x155),_0xf6c55b(0x190)+_0xe920a5+_0xf6c55b(0x17a));throw externalLinkCreateFailure(_0x2f50d6,_0x592646,{'stage':'create-response-validation','succeeded':Number['isSafeInteger'](_0x1c2f39)&&_0x1c2f39>0x0?[{'id':_0x1c2f39,'created':!![]}]:[],'failed':{'createdId':Number[_0xf6c55b(0x152)](_0x1c2f39)?_0x1c2f39:null,'generatedPathConfirmed':Boolean(_0x4dcbb3[_0xf6c55b(0x150)]())},'warnings':[_0xf6c55b(0x181)],'after':Number[_0xf6c55b(0x152)](_0x1c2f39)&&_0x1c2f39>0x0?{..._0x118a4c,'id':_0x1c2f39,'path':_0x4dcbb3}:_0x118a4c,'verification':{'status':_0xf6c55b(0x158),'lookupCommand':_0xe920a5,...Number[_0xf6c55b(0x152)](_0x1c2f39)&&_0x1c2f39>0x0?{'targetId':_0x1c2f39}:{}}});}const _0x5b677a=await readAndVerifyCreatedMenu({'appCode':_0x51371d[_0xf6c55b(0x19e)],'cookie':_0x51371d[_0xf6c55b(0x16d)],'plan':_0x592646,'afterPlan':_0x118a4c,'createdId':_0x1c2f39,'expectedPath':_0x4dcbb3,'lookupCommand':_0xe920a5,'recovered':![]});return creationSuccess(_0x592646,_0x5b677a['snapshot'],_0x5b677a['fact'],![]);}};function validateAddInput(_0x376fb1){const _0x51f5ca=a112_0x1c6442;if(!_0x376fb1['str']('label')[_0x51f5ca(0x150)]())throw CliErrors[_0x51f5ca(0x19c)](_0x51f5ca(0x196));resolveExternalMenuType(_0x376fb1),validateExternalMenuUrl(_0x376fb1['str'](_0x51f5ca(0x186))),parseParentId(_0x376fb1,_0x51f5ca(0x172)),validateSort(_0x376fb1);}function resolveExternalMenuType(_0x1e693c){const _0x5245c0=a112_0x1c6442,_0x28ad13=_0x1e693c[_0x5245c0(0x141)]('open-mode')[_0x5245c0(0x150)]();if(!_0x28ad13)throw CliErrors[_0x5245c0(0x19c)]('open-mode');const _0x50024e=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x28ad13];if(!_0x50024e)throw menuError(_0x5245c0(0x19d),_0x5245c0(0x189),'Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.');return _0x50024e;}async function buildAddPlan(_0x58a34a,_0x810a35){const _0x407246=a112_0x1c6442,_0x30702e=await fetchMutationSnapshot(_0x58a34a,_0x407246(0x140)),_0xe6499b=parseParentId(_0x58a34a,'parent-id')??null;if(_0xe6499b!=null)requireFolder(_0x30702e,_0xe6499b);const _0x121e43=validateSort(_0x58a34a),_0x27b827=_0x121e43??nextSiblingSort(_0x30702e,_0xe6499b,_0x407246(0x1a8)),_0x5de947=_0x58a34a['str']('label')[_0x407246(0x150)](),_0x4de980=resolveExternalMenuType(_0x58a34a),_0x40ae74=validateExternalMenuUrl(_0x58a34a[_0x407246(0x141)](_0x407246(0x186))),_0x16316f=Object[_0x407246(0x1ac)]['hasOwnProperty'][_0x407246(0x1b0)](_0x58a34a['rawFlags'],_0x407246(0x171))?_0x58a34a['bool'](_0x407246(0x171)):!![],_0x51d568={'id':null,'parentId':_0xe6499b,'label':_0x5de947,'path':_0x407246(0x163),'url':_0x40ae74,'type':_0x4de980,'visible':_0x16316f,'sort':_0x27b827},_0x3603e6=buildMenuLookupCommand(_0x58a34a[_0x407246(0x19e)]),_0x5d53af=mutationResult({'operation':_0x407246(0x147),'selector':{'parentId':_0xe6499b,'type':_0x4de980,'label':_0x5de947,'url':_0x40ae74},'before':null,'after':_0x51d568,'dryRun':_0x810a35,'backend':[{'method':_0x407246(0x176),'path':_0x407246(0x1a1)}],'plannedActions':[{'stage':'create-menu','method':'POST','path':'/smartapi/menu/create','body':createBody(_0x51d568)}],'snapshotHash':_0x30702e[_0x407246(0x18c)],'warnings':[_0x407246(0x187)],'verification':{'lookupCommand':_0x3603e6}});return{'plan':_0x5d53af,'snapshot':_0x30702e};}async function buildSafeAddPlan(_0xe0cefb,_0x4b3f7c){try{return await buildAddPlan(_0xe0cefb,_0x4b3f7c);}catch(_0x48c7b4){throw safeMenuAddError(_0x48c7b4);}}async function recheckAddSnapshot(_0x4fa6a4,_0x32f121){const _0x52a342=a112_0x1c6442;try{await recheckMutationSnapshot(_0x4fa6a4,_0x32f121,_0x52a342(0x140));}catch(_0x21f589){const _0x5523a6=getFailureRecord(_0x21f589);throw externalLinkCreateFailure(_0x21f589,_0x32f121,{'stage':'pre-write-recheck','failed':{..._0x5523a6?.[_0x52a342(0x167)]?{'expectedSnapshotHash':_0x5523a6[_0x52a342(0x167)]}:{},..._0x5523a6?.[_0x52a342(0x13d)]?{'currentSnapshotHash':_0x5523a6[_0x52a342(0x13d)]}:{}}});}}function createBody(_0x532272){const _0x4a8838=a112_0x1c6442;return{'parentId':toApiParentId(_0x532272['parentId']),'label':String(_0x532272[_0x4a8838(0x196)]),'type':String(_0x532272['type']),'url':String(_0x532272[_0x4a8838(0x186)]),'visible':Boolean(_0x532272['visible']),'sort':Number(_0x532272[_0x4a8838(0x130)]),'extend':{}};}function a112_0x51c1(){const _0x434c20=['expectedPath','Created\x20menu\x20','lookupCommand','<redacted>','cookie','path','username','rabetbase\x20menu\x20list\x20--appcode\x20','visible','parent-id','Create\x20an\x20external\x20website\x20link\x20menu','includes','Recovered\x20created\x20external\x20menu\x20','POST','15442704JxnmXg','fromEntries','6310720GlonIH','\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.','length','Recovered\x20menu\x20','258294DKysFS','data','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','new-window','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.','create-recovery','url','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','causemessage','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','menu_mutation_failed','\x20failed\x20final\x20verification.','hash','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','menu_url_invalid','get','Run\x20','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','string','password','map','https:','label','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','Menu\x20label','External\x20HTTPS\x20URL','type','object','flagMissing','menu_open_mode_invalid','appCode','menu_parent_not_folder','readbackerror','/smartapi/menu/create','plannedActions','verification','24JBQaGQ','external-link-create','2AvmGbM','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','menu','afterPlan','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','prototype','How\x20to\x20open\x20the\x20external\x20website','\x20has\x20an\x20unexpected\x20generated\x20path.','create','call','646737pneSZS','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','4349524HVogCa','1427608ORwjCF','plan','filter','boolean','Menu\x20','sort','selector','cause','has','Whether\x20the\x20menu\x20is\x20visible','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','Would\x20create\x20external\x20website\x20link\x20menu\x20','menu_create_recovery_required','parentId','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','replace','633870MbsRtu','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','currentSnapshotHash','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','protocol','create\x20external\x20menu','str','body','iframe','\x27\x5c\x27\x27','External\x20menu\x20creation\x20failed.','byId','add','menu_create_response_invalid','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','createdId','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','menu_sort_overflow','succeeded','trim','open-mode','isSafeInteger','rawerror','after','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','menu\x20list','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','failed','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','before','Provide\x20an\x20HTTPS\x20URL.','recovered','\x20with\x20','menu_not_found','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','menu_verification_failed','visibility','menu_state_drift','<platform-generated>','\x20after\x20response\x20loss.','menu_sort_invalid','isArray','expectedSnapshotHash','code'];a112_0x51c1=function(){return _0x434c20;};return a112_0x51c1();}function buildMenuLookupCommand(_0x1ea7f8){const _0x32cc41=a112_0x1c6442,_0x427973='\x27'+_0x1ea7f8[_0x32cc41(0x13a)](/'/g,_0x32cc41(0x144))+'\x27';return _0x32cc41(0x170)+_0x427973+'\x20--format\x20compress';}async function recoverAfterResponseLoss(_0x10bc09,_0x26af34,_0x5dd4ec){const _0x6f5776=a112_0x1c6442,{plan:_0x55fb58,snapshot:_0x163d44}=_0x26af34,_0x48ba9c=_0x55fb58['after'];let _0x4e80a6;try{_0x4e80a6=await fetchMenuSnapshot(_0x10bc09[_0x6f5776(0x19e)],_0x10bc09[_0x6f5776(0x16d)]);}catch(_0x752a74){throw recoveryRequiredFailure(_0x55fb58,_0x5dd4ec,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x18b886=_0x4e80a6['menus'][_0x6f5776(0x12d)](_0x16bfa0=>_0x16bfa0['parentId']===_0x48ba9c[_0x6f5776(0x138)]&&_0x16bfa0[_0x6f5776(0x19a)]===_0x48ba9c[_0x6f5776(0x19a)]&&_0x16bfa0['label']===_0x48ba9c[_0x6f5776(0x196)]&&_0x16bfa0[_0x6f5776(0x186)]===_0x48ba9c[_0x6f5776(0x186)]),_0x671d82=_0x18b886[_0x6f5776(0x12d)](_0x4563aa=>!_0x163d44[_0x6f5776(0x146)][_0x6f5776(0x133)](_0x4563aa['id'])),_0x20dc5c=_0x18b886[_0x6f5776(0x12d)](_0x4e5332=>_0x163d44[_0x6f5776(0x146)]['has'](_0x4e5332['id']));if(_0x18b886[_0x6f5776(0x17b)]!==0x1||_0x671d82[_0x6f5776(0x17b)]!==0x1)throw recoveryRequiredFailure(_0x55fb58,_0x5dd4ec,{'matchCount':_0x18b886[_0x6f5776(0x17b)],'newMatchCount':_0x671d82[_0x6f5776(0x17b)],'preexistingMatchCount':_0x20dc5c[_0x6f5776(0x17b)]});const _0x56e023=_0x671d82[0x0];try{verifyCreatedFact(_0x56e023,_0x56e023['id'],_0x48ba9c,null);}catch(_0x1ce8e5){const _0x32f9b5=_0x1ce8e5 instanceof Error&&_0x6f5776(0x168)in _0x1ce8e5?_0x1ce8e5:menuError(_0x6f5776(0x160),_0x6f5776(0x17c)+_0x56e023['id']+'\x20could\x20not\x20be\x20verified.',_0x6f5776(0x190)+_0x5dd4ec+_0x6f5776(0x183));throw externalLinkCreateFailure(_0x32f9b5,_0x55fb58,{'stage':_0x6f5776(0x1a3),'succeeded':[{'id':_0x56e023['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x56e023['id'],'finalFactsConfirmed':![]},'after':_0x56e023,'warnings':[_0x6f5776(0x12f)+_0x56e023['id']+_0x6f5776(0x197)],'verification':{'status':'failed','targetId':_0x56e023['id'],'recovered':!![],'lookupCommand':_0x5dd4ec}});}return creationSuccess(_0x55fb58,_0x4e80a6,_0x56e023,!![]);}function recoveryRequiredFailure(_0x580e21,_0x27843b,_0x4c2ea7){const _0x5ced52=a112_0x1c6442,_0x5b12cb=menuError(_0x5ced52(0x137),_0x5ced52(0x139),_0x5ced52(0x190)+_0x27843b+'\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.');return externalLinkCreateFailure(_0x5b12cb,_0x580e21,{'stage':_0x5ced52(0x185),'failed':_0x4c2ea7,'warnings':[_0x5ced52(0x18d)],'verification':{'status':_0x5ced52(0x158),..._0x4c2ea7,'lookupCommand':_0x27843b}});}async function readAndVerifyCreatedMenu(_0x23866b){const _0x4f117e=a112_0x1c6442;let _0x56ed73;try{_0x56ed73=await fetchMenuSnapshot(_0x23866b[_0x4f117e(0x19e)],_0x23866b[_0x4f117e(0x16d)]);}catch(_0x697206){const _0xe30a2b=menuError('menu_verification_failed','Menu\x20'+_0x23866b[_0x4f117e(0x14a)]+_0x4f117e(0x159),'Run\x20'+_0x23866b[_0x4f117e(0x16b)]+_0x4f117e(0x135));throw externalLinkCreateFailure(_0xe30a2b,_0x23866b[_0x4f117e(0x12c)],{'stage':_0x4f117e(0x1a3),'succeeded':[{'id':_0x23866b['createdId'],'created':!![]}],'failed':{'id':_0x23866b[_0x4f117e(0x14a)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x23866b[_0x4f117e(0x1a9)],'id':_0x23866b[_0x4f117e(0x14a)],'path':_0x23866b[_0x4f117e(0x169)]},'warnings':[_0x4f117e(0x12f)+_0x23866b['createdId']+_0x4f117e(0x184)],'verification':{'status':_0x4f117e(0x158),'targetId':_0x23866b['createdId'],'lookupCommand':_0x23866b[_0x4f117e(0x16b)]}});}const _0xd6e408=_0x56ed73[_0x4f117e(0x146)][_0x4f117e(0x18f)](_0x23866b[_0x4f117e(0x14a)]);try{if(!_0xd6e408)throw menuError(_0x4f117e(0x160),_0x4f117e(0x16a)+_0x23866b[_0x4f117e(0x14a)]+_0x4f117e(0x149),_0x4f117e(0x190)+_0x23866b['lookupCommand']+_0x4f117e(0x135));verifyCreatedFact(_0xd6e408,_0x23866b['createdId'],_0x23866b['afterPlan'],_0x23866b['expectedPath']);}catch(_0x4eb25e){const _0x845358=_0x4eb25e instanceof Error&&_0x4f117e(0x168)in _0x4eb25e?_0x4eb25e:menuError(_0x4f117e(0x160),_0x4f117e(0x16a)+_0x23866b[_0x4f117e(0x14a)]+_0x4f117e(0x18b),'Run\x20'+_0x23866b[_0x4f117e(0x16b)]+_0x4f117e(0x135));throw externalLinkCreateFailure(_0x845358,_0x23866b[_0x4f117e(0x12c)],{'stage':_0x4f117e(0x1a3),'succeeded':[{'id':_0x23866b[_0x4f117e(0x14a)],'created':!![]}],'failed':{'id':_0x23866b[_0x4f117e(0x14a)],'finalFactsConfirmed':![]},'after':_0xd6e408??{..._0x23866b[_0x4f117e(0x1a9)],'id':_0x23866b[_0x4f117e(0x14a)],'path':_0x23866b[_0x4f117e(0x169)]},'warnings':[_0x4f117e(0x12f)+_0x23866b['createdId']+_0x4f117e(0x14c)],'verification':{'status':_0x4f117e(0x158),'targetId':_0x23866b[_0x4f117e(0x14a)],'recovered':_0x23866b[_0x4f117e(0x15c)],'lookupCommand':_0x23866b['lookupCommand']}});}return{'snapshot':_0x56ed73,'fact':_0xd6e408};}function a112_0x147d(_0x477663,_0x263e4b){_0x477663=_0x477663-0x12c;const _0x51c1ae=a112_0x51c1();let _0x147d17=_0x51c1ae[_0x477663];return _0x147d17;}function verifyCreatedFact(_0x398438,_0x210d1e,_0x39d2b9,_0x1aa139){const _0x29cc41=a112_0x1c6442;if(!Number['isSafeInteger'](_0x398438['id'])||_0x398438['id']<=0x0||_0x398438['id']!==_0x210d1e)throw menuError(_0x29cc41(0x160),_0x29cc41(0x13e),_0x29cc41(0x157));const _0x2ea1d0=[['parent',_0x398438[_0x29cc41(0x138)],_0x39d2b9['parentId']],['type',_0x398438[_0x29cc41(0x19a)],_0x39d2b9['type']],[_0x29cc41(0x196),_0x398438[_0x29cc41(0x196)],_0x39d2b9[_0x29cc41(0x196)]],['URL',_0x398438[_0x29cc41(0x186)],_0x39d2b9[_0x29cc41(0x186)]],[_0x29cc41(0x161),_0x398438[_0x29cc41(0x171)],_0x39d2b9['visible']],[_0x29cc41(0x130),_0x398438[_0x29cc41(0x130)],_0x39d2b9[_0x29cc41(0x130)]]];for(const [_0x4f9961,_0x1d9326,_0x39f23f]of _0x2ea1d0){if(_0x1d9326!==_0x39f23f)throw menuError(_0x29cc41(0x160),_0x29cc41(0x16a)+_0x398438['id']+'\x20has\x20an\x20unexpected\x20'+_0x4f9961+'.',_0x29cc41(0x13c));}if(!_0x398438[_0x29cc41(0x16e)][_0x29cc41(0x150)]()||_0x1aa139!==null&&_0x398438[_0x29cc41(0x16e)]!==_0x1aa139)throw menuError(_0x29cc41(0x160),_0x29cc41(0x16a)+_0x398438['id']+_0x29cc41(0x1ae),_0x29cc41(0x13c));}function creationSuccess(_0x189db1,_0x17ad26,_0x5599e2,_0x14407f){const _0x39436f=a112_0x1c6442,_0x3212a6=mutationResult({..._0x189db1,'after':_0x5599e2,'dryRun':![],'succeeded':[{'id':_0x5599e2['id'],'created':!![],'recovered':_0x14407f}],'verification':{'checkedBy':_0x39436f(0x156),'snapshotHash':_0x17ad26[_0x39436f(0x18c)],'targetId':_0x5599e2['id'],'recovered':_0x14407f,'path':_0x5599e2[_0x39436f(0x16e)]}});return{'ok':!![],'message':_0x14407f?_0x39436f(0x175)+_0x5599e2['id']+_0x39436f(0x164):'Created\x20external\x20menu\x20'+_0x5599e2['id']+'.','data':{..._0x3212a6,'recovered':_0x14407f}};}function externalLinkCreateFailure(_0x44a4f3,_0x5dc55f,_0x533f8f){const _0x4641ac=a112_0x1c6442;return menuFailure(safeMenuAddError(_0x44a4f3),redactFailurePlan(_0x5dc55f),{..._0x533f8f,'succeeded':_0x533f8f[_0x4641ac(0x14f)]?.[_0x4641ac(0x194)](redactFailureRecord),'failed':_0x533f8f['failed']?redactFailureRecord(_0x533f8f[_0x4641ac(0x158)]):undefined,'verification':_0x533f8f[_0x4641ac(0x1a3)]?redactFailureRecord(_0x533f8f[_0x4641ac(0x1a3)]):undefined,'after':_0x533f8f[_0x4641ac(0x154)]===undefined?undefined:redactFailureValue(_0x533f8f['after'])});}function redactFailurePlan(_0x4d296d){const _0x424c0f=a112_0x1c6442;return{..._0x4d296d,'selector':redactFailureRecord(_0x4d296d[_0x424c0f(0x131)]),'before':redactFailureValue(_0x4d296d[_0x424c0f(0x15a)]),'after':redactFailureValue(_0x4d296d['after']),'plannedActions':_0x4d296d[_0x424c0f(0x1a2)]?.['map'](_0x5eb707=>({..._0x5eb707,'body':redactFailureRecord(_0x5eb707[_0x424c0f(0x142)])})),'succeeded':_0x4d296d[_0x424c0f(0x14f)][_0x424c0f(0x194)](redactFailureRecord),'failed':_0x4d296d[_0x424c0f(0x158)][_0x424c0f(0x194)](redactFailureRecord),'verification':_0x4d296d[_0x424c0f(0x1a3)]?redactFailureRecord(_0x4d296d[_0x424c0f(0x1a3)]):undefined};}function redactFailureRecord(_0x1677c1){return redactFailureValue(_0x1677c1);}function redactFailureValue(_0x1b7745,_0x2c3ee4=''){const _0x9236d1=a112_0x1c6442,_0x58b06f=_0x2c3ee4['toLowerCase']()['replace'](/[^a-z0-9]/g,'');if([_0x9236d1(0x132),_0x9236d1(0x188),_0x9236d1(0x1a0),_0x9236d1(0x153)][_0x9236d1(0x174)](_0x58b06f))return _0x9236d1(0x16c);if(Array[_0x9236d1(0x166)](_0x1b7745))return _0x1b7745[_0x9236d1(0x194)](_0xf80af0=>redactFailureValue(_0xf80af0));if(_0x1b7745&&typeof _0x1b7745===_0x9236d1(0x19b))return Object[_0x9236d1(0x178)](Object['entries'](_0x1b7745)['map'](([_0x32af94,_0x4f2ff4])=>[_0x32af94,redactFailureValue(_0x4f2ff4,_0x32af94)]));return _0x1b7745;}function safeMenuAddError(_0x50af21){const _0x589322=a112_0x1c6442,_0x55eba9=_0x50af21 instanceof CliError?_0x50af21['code']:_0x589322(0x18a);switch(_0x55eba9){case _0x589322(0x162):return menuError(_0x55eba9,_0x589322(0x15f),'Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.');case'menu_permission_denied':return menuError(_0x55eba9,_0x589322(0x191),_0x589322(0x182));case _0x589322(0x148):return menuError(_0x55eba9,'Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.',_0x589322(0x17f));case _0x589322(0x160):return menuError(_0x55eba9,_0x589322(0x1b2),_0x589322(0x17f));case _0x589322(0x137):return menuError(_0x55eba9,'The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.');case'menu_mutation_failed':case _0x589322(0x15e):case _0x589322(0x19f):case _0x589322(0x165):case _0x589322(0x14e):return menuError(_0x55eba9,_0x589322(0x145),_0x589322(0x1ab));default:return menuError(_0x589322(0x18a),_0x589322(0x145),'Inspect\x20current\x20menu\x20facts\x20before\x20retrying.');}}function getFailureRecord(_0x1df411){const _0x4fa56e=a112_0x1c6442;if(!(_0x1df411 instanceof Error)||!(_0x4fa56e(0x17e)in _0x1df411))return undefined;const _0x87541a=_0x1df411['data'];if(!_0x87541a||typeof _0x87541a!==_0x4fa56e(0x19b))return undefined;const _0x2c7659=_0x87541a[_0x4fa56e(0x158)];if(!Array[_0x4fa56e(0x166)](_0x2c7659)||!_0x2c7659[0x0]||typeof _0x2c7659[0x0]!==_0x4fa56e(0x19b))return undefined;return _0x2c7659[0x0];}
|
|
1
|
+
const a117_0x56ea26=a117_0x2b28;(function(_0x12b537,_0x3cbbd9){const _0x7ed048=a117_0x2b28,_0x11b2e3=_0x12b537();while(!![]){try{const _0x4e231a=-parseInt(_0x7ed048(0x1fb))/0x1+parseInt(_0x7ed048(0x1b3))/0x2*(parseInt(_0x7ed048(0x22d))/0x3)+-parseInt(_0x7ed048(0x1e5))/0x4+parseInt(_0x7ed048(0x229))/0x5+parseInt(_0x7ed048(0x23b))/0x6*(-parseInt(_0x7ed048(0x1dd))/0x7)+parseInt(_0x7ed048(0x1ff))/0x8+parseInt(_0x7ed048(0x1eb))/0x9;if(_0x4e231a===_0x3cbbd9)break;else _0x11b2e3['push'](_0x11b2e3['shift']());}catch(_0x3095b0){_0x11b2e3['push'](_0x11b2e3['shift']());}}}(a117_0x586c,0x56ab0));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';function a117_0x586c(){const _0x1a710f=['External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','stringify','menu_sort_invalid','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','rawFlags','path','<redacted>','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','\x27\x5c\x27\x27','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','<platform-generated>','appCode','Menu\x20','\x20with\x20','plan','includes','108661iyCAuQ','label','filter','createdId','url','Provide\x20an\x20HTTPS\x20URL.','The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','create-response-validation','1727892OBhsND','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','str','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','menu_url_invalid','6362955KVAdQE','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','replace','/smartapi/menu/create','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','\x20--format\x20compress','\x20after\x20response\x20loss.','isSafeInteger','succeeded','afterPlan','menu_verification_failed','menu_url_https_required','External\x20HTTPS\x20URL','map','string','body','570687sVSWku','username','pre-write-recheck','iframe','2952824acmRQt','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','menu_create_recovery_required','fromEntries','trim','after','Created\x20menu\x20','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','visibility','rabetbase\x20menu\x20list\x20--appcode\x20','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','before','create-menu','menu_sort_overflow','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','fact','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','snapshot','External\x20menu\x20creation\x20failed.','type','menu\x20list','call','boolean','create-recovery','selector','parentId','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','cause','menus','expectedPath','How\x20to\x20open\x20the\x20external\x20website','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','hasOwnProperty','get','add','create','object','readbackerror','expectedSnapshotHash','menu','POST','80005qnnbUQ','Recovered\x20menu\x20','\x20has\x20an\x20unexpected\x20generated\x20path.','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','3EyPXDZ','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','menu_url_credentials_forbidden','Run\x20','currentSnapshotHash','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','\x20failed\x20final\x20verification.','Whether\x20the\x20menu\x20is\x20visible','failed','link','password','causemessage','\x20could\x20not\x20be\x20verified.','6BYZUJW','menu_open_mode_invalid','562152aDGnZb','sort','\x20has\x20an\x20unexpected\x20','byId','\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.','code','length','prototype','lookupCommand','Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','create\x20external\x20menu','isArray','cookie','menu_mutation_failed','new-window','recovered','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','write','verification','visible','has','parent','data','menu_create_response_invalid','menu_permission_denied','parent-id'];a117_0x586c=function(){return _0x1a710f;};return a117_0x586c();}import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,fetchMutationSnapshot,menuDryRunResult,menuError,menuFailure,mapMenuApiError,isMenuResponseLoss,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const EXTERNAL_MENU_TYPES_BY_OPEN_MODE={'embedded':a117_0x56ea26(0x1fe),'new-window':a117_0x56ea26(0x237)};export function validateExternalMenuUrl(_0x1a1a67){const _0x42bd85=a117_0x56ea26,_0x4d6086=_0x1a1a67[_0x42bd85(0x204)]();let _0x10dfa6;try{_0x10dfa6=new URL(_0x4d6086);}catch{throw menuError(_0x42bd85(0x1ea),_0x42bd85(0x1cd),_0x42bd85(0x20e));}if(_0x10dfa6['protocol']!=='https:')throw menuError(_0x42bd85(0x1f6),_0x42bd85(0x1e8),_0x42bd85(0x1e2));if(_0x10dfa6[_0x42bd85(0x1fc)]||_0x10dfa6[_0x42bd85(0x238)])throw menuError(_0x42bd85(0x230),_0x42bd85(0x207),'Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.');return _0x4d6086;}export const menuExternalLinkCreate={'service':'menu','command':'external-link-create','description':'Create\x20an\x20external\x20website\x20link\x20menu','risk':a117_0x56ea26(0x1c4),'structuredErrors':!![],'flags':[{'name':a117_0x56ea26(0x1de),'type':'string','required':!![],'description':'Menu\x20label'},{'name':'open-mode','type':'string','required':!![],'enum':['embedded',a117_0x56ea26(0x1c1)],'description':a117_0x56ea26(0x21e)},{'name':a117_0x56ea26(0x1e1),'type':a117_0x56ea26(0x1f9),'required':!![],'description':a117_0x56ea26(0x1f7)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':'visible','type':a117_0x56ea26(0x216),'default':!![],'description':a117_0x56ea26(0x235)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x3795b5){validateAddInput(_0x3795b5);},async 'dryRun'(_0x3d2ffc){const _0xb20816=a117_0x56ea26;validateAddInput(_0x3d2ffc);const {plan:_0x4b86c2}=await buildSafeAddPlan(_0x3d2ffc,!![]),_0x1b410f=_0x4b86c2[_0xb20816(0x205)],_0x2213f9=createBody(_0x1b410f);return menuDryRunResult(_0x4b86c2,{'method':_0xb20816(0x228),'url':_0xb20816(0x1ee),'body':_0x2213f9,'description':'Would\x20create\x20external\x20website\x20link\x20menu\x20'+JSON[_0xb20816(0x1ce)](_0x1b410f['label'])+_0xb20816(0x1da)+_0x3d2ffc[_0xb20816(0x1e7)]('open-mode')+_0xb20816(0x1ef)});},async 'execute'(_0x1181b4){const _0x53e8cc=a117_0x56ea26;validateAddInput(_0x1181b4);const _0x3c9d03=await buildSafeAddPlan(_0x1181b4,![]),{plan:_0x33fe89,snapshot:_0x1f0243}=_0x3c9d03,_0x3e98bc=_0x33fe89[_0x53e8cc(0x205)],_0x28584e=buildMenuLookupCommand(_0x1181b4[_0x53e8cc(0x1d8)]);await recheckAddSnapshot(_0x1181b4,_0x33fe89);let _0x37fbde;try{_0x37fbde=await createMenuEntity(_0x1181b4[_0x53e8cc(0x1d8)],_0x1181b4['cookie'],createBody(_0x3e98bc));}catch(_0x1025b1){const _0x34fde5=mapMenuApiError(_0x1025b1,'create\x20external\x20menu');if(!isMenuResponseLoss(_0x1025b1)||_0x34fde5[_0x53e8cc(0x1b8)]===_0x53e8cc(0x1cb))throw externalLinkCreateFailure(_0x34fde5,_0x33fe89,{'stage':_0x53e8cc(0x223),'failed':{},'verification':{'status':_0x53e8cc(0x236),'lookupCommand':_0x28584e}});return recoverAfterResponseLoss(_0x1181b4,_0x3c9d03,_0x28584e);}const _0x4077f1=Number(_0x37fbde?.['id']),_0x124185=typeof _0x37fbde?.[_0x53e8cc(0x1d2)]===_0x53e8cc(0x1f9)?_0x37fbde['path']:'';if(!Number[_0x53e8cc(0x1f2)](_0x4077f1)||_0x4077f1<=0x0||!_0x124185['trim']()){const _0x29c051=menuError(_0x53e8cc(0x1ca),_0x53e8cc(0x1c3),_0x53e8cc(0x231)+_0x28584e+'\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.');throw externalLinkCreateFailure(_0x29c051,_0x33fe89,{'stage':_0x53e8cc(0x1e4),'succeeded':Number[_0x53e8cc(0x1f2)](_0x4077f1)&&_0x4077f1>0x0?[{'id':_0x4077f1,'created':!![]}]:[],'failed':{'createdId':Number[_0x53e8cc(0x1f2)](_0x4077f1)?_0x4077f1:null,'generatedPathConfirmed':Boolean(_0x124185[_0x53e8cc(0x204)]())},'warnings':[_0x53e8cc(0x233)],'after':Number[_0x53e8cc(0x1f2)](_0x4077f1)&&_0x4077f1>0x0?{..._0x3e98bc,'id':_0x4077f1,'path':_0x124185}:_0x3e98bc,'verification':{'status':_0x53e8cc(0x236),'lookupCommand':_0x28584e,...Number['isSafeInteger'](_0x4077f1)&&_0x4077f1>0x0?{'targetId':_0x4077f1}:{}}});}const _0x472331=await readAndVerifyCreatedMenu({'appCode':_0x1181b4[_0x53e8cc(0x1d8)],'cookie':_0x1181b4['cookie'],'plan':_0x33fe89,'afterPlan':_0x3e98bc,'createdId':_0x4077f1,'expectedPath':_0x124185,'lookupCommand':_0x28584e,'recovered':![]});return creationSuccess(_0x33fe89,_0x472331[_0x53e8cc(0x211)],_0x472331[_0x53e8cc(0x20f)],![]);}};function validateAddInput(_0x6f8ec4){const _0x5ba1b1=a117_0x56ea26;if(!_0x6f8ec4[_0x5ba1b1(0x1e7)](_0x5ba1b1(0x1de))[_0x5ba1b1(0x204)]())throw CliErrors['flagMissing']('label');resolveExternalMenuType(_0x6f8ec4),validateExternalMenuUrl(_0x6f8ec4[_0x5ba1b1(0x1e7)](_0x5ba1b1(0x1e1))),parseParentId(_0x6f8ec4,_0x5ba1b1(0x1cc)),validateSort(_0x6f8ec4);}function resolveExternalMenuType(_0x408895){const _0x4ea507=a117_0x56ea26,_0x4114c6=_0x408895[_0x4ea507(0x1e7)]('open-mode')[_0x4ea507(0x204)]();if(!_0x4114c6)throw CliErrors['flagMissing']('open-mode');const _0x4f0b24=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x4114c6];if(!_0x4f0b24)throw menuError(_0x4ea507(0x1b2),_0x4ea507(0x20a),_0x4ea507(0x22f));return _0x4f0b24;}async function buildAddPlan(_0x372609,_0x54eb02){const _0x2aa22a=a117_0x56ea26,_0x1ee546=await fetchMutationSnapshot(_0x372609,_0x2aa22a(0x1bd)),_0x575d6f=parseParentId(_0x372609,'parent-id')??null;if(_0x575d6f!=null)requireFolder(_0x1ee546,_0x575d6f);const _0x5f1cf0=validateSort(_0x372609),_0x32d4ad=_0x5f1cf0??nextSiblingSort(_0x1ee546,_0x575d6f,_0x2aa22a(0x227)),_0x2d5c8e=_0x372609['str'](_0x2aa22a(0x1de))[_0x2aa22a(0x204)](),_0x13e41f=resolveExternalMenuType(_0x372609),_0x30b0d7=validateExternalMenuUrl(_0x372609['str'](_0x2aa22a(0x1e1))),_0x425ba2=Object[_0x2aa22a(0x1ba)][_0x2aa22a(0x220)][_0x2aa22a(0x215)](_0x372609[_0x2aa22a(0x1d1)],_0x2aa22a(0x1c6))?_0x372609['bool'](_0x2aa22a(0x1c6)):!![],_0x20e8f1={'id':null,'parentId':_0x575d6f,'label':_0x2d5c8e,'path':_0x2aa22a(0x1d7),'url':_0x30b0d7,'type':_0x13e41f,'visible':_0x425ba2,'sort':_0x32d4ad},_0x21685b=buildMenuLookupCommand(_0x372609[_0x2aa22a(0x1d8)]),_0x3aa4bd=mutationResult({'operation':_0x2aa22a(0x222),'selector':{'parentId':_0x575d6f,'type':_0x13e41f,'label':_0x2d5c8e,'url':_0x30b0d7},'before':null,'after':_0x20e8f1,'dryRun':_0x54eb02,'backend':[{'method':_0x2aa22a(0x228),'path':_0x2aa22a(0x1ee)}],'plannedActions':[{'stage':_0x2aa22a(0x20c),'method':'POST','path':_0x2aa22a(0x1ee),'body':createBody(_0x20e8f1)}],'snapshotHash':_0x1ee546['hash'],'warnings':[_0x2aa22a(0x22c)],'verification':{'lookupCommand':_0x21685b}});return{'plan':_0x3aa4bd,'snapshot':_0x1ee546};}async function buildSafeAddPlan(_0x458c1f,_0x45d132){try{return await buildAddPlan(_0x458c1f,_0x45d132);}catch(_0x1ebb9e){throw safeMenuAddError(_0x1ebb9e);}}async function recheckAddSnapshot(_0x56f61f,_0x558c14){const _0x4a1e28=a117_0x56ea26;try{await recheckMutationSnapshot(_0x56f61f,_0x558c14,_0x4a1e28(0x1bd));}catch(_0x1538f6){const _0x3e8b9b=getFailureRecord(_0x1538f6);throw externalLinkCreateFailure(_0x1538f6,_0x558c14,{'stage':_0x4a1e28(0x1fd),'failed':{..._0x3e8b9b?.[_0x4a1e28(0x226)]?{'expectedSnapshotHash':_0x3e8b9b[_0x4a1e28(0x226)]}:{},..._0x3e8b9b?.['currentSnapshotHash']?{'currentSnapshotHash':_0x3e8b9b[_0x4a1e28(0x232)]}:{}}});}}function createBody(_0x25507c){const _0x508c7c=a117_0x56ea26;return{'parentId':toApiParentId(_0x25507c[_0x508c7c(0x219)]),'label':String(_0x25507c['label']),'type':String(_0x25507c[_0x508c7c(0x213)]),'url':String(_0x25507c[_0x508c7c(0x1e1)]),'visible':Boolean(_0x25507c['visible']),'sort':Number(_0x25507c[_0x508c7c(0x1b4)]),'extend':{}};}function buildMenuLookupCommand(_0x14f642){const _0x39f59c=a117_0x56ea26,_0x5e298a='\x27'+_0x14f642[_0x39f59c(0x1ed)](/'/g,_0x39f59c(0x1d5))+'\x27';return _0x39f59c(0x209)+_0x5e298a+_0x39f59c(0x1f0);}async function recoverAfterResponseLoss(_0x290b22,_0xcecef3,_0x4da2d4){const _0x4d591b=a117_0x56ea26,{plan:_0x5921ce,snapshot:_0x3dc63b}=_0xcecef3,_0x16da1e=_0x5921ce['after'];let _0x15f6f4;try{_0x15f6f4=await fetchMenuSnapshot(_0x290b22[_0x4d591b(0x1d8)],_0x290b22['cookie']);}catch(_0x5dd593){throw recoveryRequiredFailure(_0x5921ce,_0x4da2d4,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x3e80d2=_0x15f6f4[_0x4d591b(0x21c)][_0x4d591b(0x1df)](_0x30c5ae=>_0x30c5ae['parentId']===_0x16da1e[_0x4d591b(0x219)]&&_0x30c5ae[_0x4d591b(0x213)]===_0x16da1e[_0x4d591b(0x213)]&&_0x30c5ae[_0x4d591b(0x1de)]===_0x16da1e[_0x4d591b(0x1de)]&&_0x30c5ae[_0x4d591b(0x1e1)]===_0x16da1e[_0x4d591b(0x1e1)]),_0x22def2=_0x3e80d2[_0x4d591b(0x1df)](_0x52114d=>!_0x3dc63b[_0x4d591b(0x1b6)][_0x4d591b(0x1c7)](_0x52114d['id'])),_0x471327=_0x3e80d2[_0x4d591b(0x1df)](_0x39aa92=>_0x3dc63b['byId']['has'](_0x39aa92['id']));if(_0x3e80d2[_0x4d591b(0x1b9)]!==0x1||_0x22def2[_0x4d591b(0x1b9)]!==0x1)throw recoveryRequiredFailure(_0x5921ce,_0x4da2d4,{'matchCount':_0x3e80d2[_0x4d591b(0x1b9)],'newMatchCount':_0x22def2[_0x4d591b(0x1b9)],'preexistingMatchCount':_0x471327['length']});const _0x4a379c=_0x22def2[0x0];try{verifyCreatedFact(_0x4a379c,_0x4a379c['id'],_0x16da1e,null);}catch(_0x222ba1){const _0x2d3317=_0x222ba1 instanceof Error&&_0x4d591b(0x1b8)in _0x222ba1?_0x222ba1:menuError('menu_verification_failed',_0x4d591b(0x22a)+_0x4a379c['id']+_0x4d591b(0x23a),'Run\x20'+_0x4da2d4+'\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x2d3317,_0x5921ce,{'stage':_0x4d591b(0x1c5),'succeeded':[{'id':_0x4a379c['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x4a379c['id'],'finalFactsConfirmed':![]},'after':_0x4a379c,'warnings':[_0x4d591b(0x1d9)+_0x4a379c['id']+_0x4d591b(0x1d4)],'verification':{'status':_0x4d591b(0x236),'targetId':_0x4a379c['id'],'recovered':!![],'lookupCommand':_0x4da2d4}});}return creationSuccess(_0x5921ce,_0x15f6f4,_0x4a379c,!![]);}function recoveryRequiredFailure(_0x3f610a,_0x37e533,_0x516406){const _0x2f1ee8=a117_0x56ea26,_0x280ef7=menuError(_0x2f1ee8(0x202),_0x2f1ee8(0x21a),_0x2f1ee8(0x231)+_0x37e533+_0x2f1ee8(0x1b7));return externalLinkCreateFailure(_0x280ef7,_0x3f610a,{'stage':_0x2f1ee8(0x217),'failed':_0x516406,'warnings':[_0x2f1ee8(0x210)],'verification':{'status':_0x2f1ee8(0x236),..._0x516406,'lookupCommand':_0x37e533}});}async function readAndVerifyCreatedMenu(_0x4ea8c9){const _0x52a07d=a117_0x56ea26;let _0x1dd16e;try{_0x1dd16e=await fetchMenuSnapshot(_0x4ea8c9[_0x52a07d(0x1d8)],_0x4ea8c9[_0x52a07d(0x1bf)]);}catch(_0xb9132){const _0x38675d=menuError(_0x52a07d(0x1f5),'Menu\x20'+_0x4ea8c9[_0x52a07d(0x1e0)]+_0x52a07d(0x1d6),_0x52a07d(0x231)+_0x4ea8c9['lookupCommand']+_0x52a07d(0x22e));throw externalLinkCreateFailure(_0x38675d,_0x4ea8c9[_0x52a07d(0x1db)],{'stage':'verification','succeeded':[{'id':_0x4ea8c9[_0x52a07d(0x1e0)],'created':!![]}],'failed':{'id':_0x4ea8c9['createdId'],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x4ea8c9[_0x52a07d(0x1f4)],'id':_0x4ea8c9[_0x52a07d(0x1e0)],'path':_0x4ea8c9[_0x52a07d(0x21d)]},'warnings':[_0x52a07d(0x1d9)+_0x4ea8c9[_0x52a07d(0x1e0)]+'\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.'],'verification':{'status':_0x52a07d(0x236),'targetId':_0x4ea8c9[_0x52a07d(0x1e0)],'lookupCommand':_0x4ea8c9[_0x52a07d(0x1bb)]}});}const _0x581530=_0x1dd16e[_0x52a07d(0x1b6)][_0x52a07d(0x221)](_0x4ea8c9[_0x52a07d(0x1e0)]);try{if(!_0x581530)throw menuError(_0x52a07d(0x1f5),_0x52a07d(0x206)+_0x4ea8c9[_0x52a07d(0x1e0)]+_0x52a07d(0x200),_0x52a07d(0x231)+_0x4ea8c9['lookupCommand']+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');verifyCreatedFact(_0x581530,_0x4ea8c9['createdId'],_0x4ea8c9[_0x52a07d(0x1f4)],_0x4ea8c9['expectedPath']);}catch(_0x6ef221){const _0x423a8e=_0x6ef221 instanceof Error&&_0x52a07d(0x1b8)in _0x6ef221?_0x6ef221:menuError('menu_verification_failed','Created\x20menu\x20'+_0x4ea8c9['createdId']+_0x52a07d(0x234),'Run\x20'+_0x4ea8c9[_0x52a07d(0x1bb)]+_0x52a07d(0x22e));throw externalLinkCreateFailure(_0x423a8e,_0x4ea8c9[_0x52a07d(0x1db)],{'stage':_0x52a07d(0x1c5),'succeeded':[{'id':_0x4ea8c9[_0x52a07d(0x1e0)],'created':!![]}],'failed':{'id':_0x4ea8c9[_0x52a07d(0x1e0)],'finalFactsConfirmed':![]},'after':_0x581530??{..._0x4ea8c9[_0x52a07d(0x1f4)],'id':_0x4ea8c9[_0x52a07d(0x1e0)],'path':_0x4ea8c9[_0x52a07d(0x21d)]},'warnings':[_0x52a07d(0x1d9)+_0x4ea8c9[_0x52a07d(0x1e0)]+'\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.'],'verification':{'status':'failed','targetId':_0x4ea8c9[_0x52a07d(0x1e0)],'recovered':_0x4ea8c9[_0x52a07d(0x1c2)],'lookupCommand':_0x4ea8c9['lookupCommand']}});}return{'snapshot':_0x1dd16e,'fact':_0x581530};}function verifyCreatedFact(_0x50980a,_0x1b2629,_0x1e257d,_0x5178b8){const _0x3bf388=a117_0x56ea26;if(!Number[_0x3bf388(0x1f2)](_0x50980a['id'])||_0x50980a['id']<=0x0||_0x50980a['id']!==_0x1b2629)throw menuError(_0x3bf388(0x1f5),'Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.',_0x3bf388(0x21f));const _0x484451=[[_0x3bf388(0x1c8),_0x50980a['parentId'],_0x1e257d[_0x3bf388(0x219)]],[_0x3bf388(0x213),_0x50980a[_0x3bf388(0x213)],_0x1e257d['type']],[_0x3bf388(0x1de),_0x50980a['label'],_0x1e257d[_0x3bf388(0x1de)]],['URL',_0x50980a['url'],_0x1e257d[_0x3bf388(0x1e1)]],[_0x3bf388(0x208),_0x50980a[_0x3bf388(0x1c6)],_0x1e257d[_0x3bf388(0x1c6)]],[_0x3bf388(0x1b4),_0x50980a['sort'],_0x1e257d[_0x3bf388(0x1b4)]]];for(const [_0x47497a,_0x25f0a6,_0xe5f5b8]of _0x484451){if(_0x25f0a6!==_0xe5f5b8)throw menuError(_0x3bf388(0x1f5),'Created\x20menu\x20'+_0x50980a['id']+_0x3bf388(0x1b5)+_0x47497a+'.','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.');}if(!_0x50980a[_0x3bf388(0x1d2)][_0x3bf388(0x204)]()||_0x5178b8!==null&&_0x50980a[_0x3bf388(0x1d2)]!==_0x5178b8)throw menuError(_0x3bf388(0x1f5),_0x3bf388(0x206)+_0x50980a['id']+_0x3bf388(0x22b),'Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.');}function creationSuccess(_0x2a3789,_0x4f960f,_0x5f024e,_0xf13b25){const _0x19f31e=a117_0x56ea26,_0xb25ba4=mutationResult({..._0x2a3789,'after':_0x5f024e,'dryRun':![],'succeeded':[{'id':_0x5f024e['id'],'created':!![],'recovered':_0xf13b25}],'verification':{'checkedBy':_0x19f31e(0x214),'snapshotHash':_0x4f960f['hash'],'targetId':_0x5f024e['id'],'recovered':_0xf13b25,'path':_0x5f024e[_0x19f31e(0x1d2)]}});return{'ok':!![],'message':_0xf13b25?'Recovered\x20created\x20external\x20menu\x20'+_0x5f024e['id']+_0x19f31e(0x1f1):'Created\x20external\x20menu\x20'+_0x5f024e['id']+'.','data':{..._0xb25ba4,'recovered':_0xf13b25}};}function externalLinkCreateFailure(_0x5a6854,_0x3b1997,_0x14ea90){const _0x5480af=a117_0x56ea26;return menuFailure(safeMenuAddError(_0x5a6854),redactFailurePlan(_0x3b1997),{..._0x14ea90,'succeeded':_0x14ea90['succeeded']?.[_0x5480af(0x1f8)](redactFailureRecord),'failed':_0x14ea90['failed']?redactFailureRecord(_0x14ea90[_0x5480af(0x236)]):undefined,'verification':_0x14ea90[_0x5480af(0x1c5)]?redactFailureRecord(_0x14ea90[_0x5480af(0x1c5)]):undefined,'after':_0x14ea90[_0x5480af(0x205)]===undefined?undefined:redactFailureValue(_0x14ea90[_0x5480af(0x205)])});}function redactFailurePlan(_0x1efaec){const _0x172eb0=a117_0x56ea26;return{..._0x1efaec,'selector':redactFailureRecord(_0x1efaec[_0x172eb0(0x218)]),'before':redactFailureValue(_0x1efaec[_0x172eb0(0x20b)]),'after':redactFailureValue(_0x1efaec[_0x172eb0(0x205)]),'plannedActions':_0x1efaec['plannedActions']?.['map'](_0x93641e=>({..._0x93641e,'body':redactFailureRecord(_0x93641e[_0x172eb0(0x1fa)])})),'succeeded':_0x1efaec[_0x172eb0(0x1f3)][_0x172eb0(0x1f8)](redactFailureRecord),'failed':_0x1efaec['failed'][_0x172eb0(0x1f8)](redactFailureRecord),'verification':_0x1efaec[_0x172eb0(0x1c5)]?redactFailureRecord(_0x1efaec[_0x172eb0(0x1c5)]):undefined};}function a117_0x2b28(_0xeb98c9,_0x31f000){_0xeb98c9=_0xeb98c9-0x1b2;const _0x586c76=a117_0x586c();let _0x2b2849=_0x586c76[_0xeb98c9];return _0x2b2849;}function redactFailureRecord(_0x28f0e5){return redactFailureValue(_0x28f0e5);}function redactFailureValue(_0x1ff951,_0x2a1852=''){const _0x2f1762=a117_0x56ea26,_0x36891e=_0x2a1852['toLowerCase']()[_0x2f1762(0x1ed)](/[^a-z0-9]/g,'');if([_0x2f1762(0x21b),_0x2f1762(0x239),_0x2f1762(0x225),'rawerror'][_0x2f1762(0x1dc)](_0x36891e))return _0x2f1762(0x1d3);if(Array[_0x2f1762(0x1be)](_0x1ff951))return _0x1ff951[_0x2f1762(0x1f8)](_0x11099a=>redactFailureValue(_0x11099a));if(_0x1ff951&&typeof _0x1ff951===_0x2f1762(0x224))return Object[_0x2f1762(0x203)](Object['entries'](_0x1ff951)[_0x2f1762(0x1f8)](([_0x52a2e0,_0x7d31a9])=>[_0x52a2e0,redactFailureValue(_0x7d31a9,_0x52a2e0)]));return _0x1ff951;}function safeMenuAddError(_0xa4301f){const _0x316fb7=a117_0x56ea26,_0x44f812=_0xa4301f instanceof CliError?_0xa4301f['code']:_0x316fb7(0x1c0);switch(_0x44f812){case'menu_state_drift':return menuError(_0x44f812,'Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.',_0x316fb7(0x1e6));case _0x316fb7(0x1cb):return menuError(_0x44f812,_0x316fb7(0x1ec),_0x316fb7(0x1d0));case _0x316fb7(0x1ca):return menuError(_0x44f812,_0x316fb7(0x1bc),_0x316fb7(0x1e9));case _0x316fb7(0x1f5):return menuError(_0x44f812,'Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.',_0x316fb7(0x1e9));case'menu_create_recovery_required':return menuError(_0x44f812,_0x316fb7(0x1e3),'Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.');case _0x316fb7(0x1c0):case'menu_not_found':case'menu_parent_not_folder':case _0x316fb7(0x1cf):case _0x316fb7(0x20d):return menuError(_0x44f812,'External\x20menu\x20creation\x20failed.',_0x316fb7(0x201));default:return menuError(_0x316fb7(0x1c0),_0x316fb7(0x212),_0x316fb7(0x201));}}function getFailureRecord(_0x55bf72){const _0x3c6629=a117_0x56ea26;if(!(_0x55bf72 instanceof Error)||!('data'in _0x55bf72))return undefined;const _0x4bf17d=_0x55bf72[_0x3c6629(0x1c9)];if(!_0x4bf17d||typeof _0x4bf17d!==_0x3c6629(0x224))return undefined;const _0x3ed25e=_0x4bf17d[_0x3c6629(0x236)];if(!Array[_0x3c6629(0x1be)](_0x3ed25e)||!_0x3ed25e[0x0]||typeof _0x3ed25e[0x0]!==_0x3c6629(0x224))return undefined;return _0x3ed25e[0x0];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a113_0x12ddee=a113_0x22b9;(function(_0x1ff847,_0x4012ff){const _0x2cd48a=a113_0x22b9,_0x5949c5=_0x1ff847();while(!![]){try{const _0x28bd81=parseInt(_0x2cd48a(0x14d))/0x1+-parseInt(_0x2cd48a(0x131))/0x2+parseInt(_0x2cd48a(0x118))/0x3*(-parseInt(_0x2cd48a(0x152))/0x4)+-parseInt(_0x2cd48a(0x159))/0x5+parseInt(_0x2cd48a(0x157))/0x6*(-parseInt(_0x2cd48a(0x11e))/0x7)+-parseInt(_0x2cd48a(0x125))/0x8+parseInt(_0x2cd48a(0x132))/0x9;if(_0x28bd81===_0x4012ff)break;else _0x5949c5['push'](_0x5949c5['shift']());}catch(_0x2be05e){_0x5949c5['push'](_0x5949c5['shift']());}}}(a113_0x3e00,0x76f39));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_0x12ddee(0x121),'path':a113_0x12ddee(0x138)}];export const menuExternalLinkUpdate={'service':a113_0x12ddee(0x12f),'command':a113_0x12ddee(0x156),'description':a113_0x12ddee(0x148),'risk':'write','structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a113_0x12ddee(0x130),'type':a113_0x12ddee(0x12e),'required':!![],'description':'New\x20external\x20HTTPS\x20URL'},{'name':a113_0x12ddee(0x145),'type':'string','required':!![],'description':a113_0x12ddee(0x13b)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x13702c){validateInput(_0x13702c);},async 'dryRun'(_0x499480){const _0x2bb843=a113_0x12ddee;validateInput(_0x499480);const _0x413bff=await buildPlan(_0x499480,!![]);return menuDryRunResult(_0x413bff[_0x2bb843(0x13a)],{'method':_0x2bb843(0x121),'url':_0x2bb843(0x138),'body':_0x413bff[_0x2bb843(0x119)],'description':_0x2bb843(0x144)+_0x413bff['body']['id']+'.'});},async 'execute'(_0x382408){const _0x3da156=a113_0x12ddee;validateInput(_0x382408);const _0x1b8802=await buildPlan(_0x382408,![]),{plan:_0x5b2e0c,body:_0x1fc9de,before:_0xecd80a,noChanges:_0x37ba50}=_0x1b8802,_0x51afde=_0x1fc9de['id'];if(_0x37ba50)return updateSuccess(_0x5b2e0c,_0x1b8802[_0x3da156(0x14c)],_0xecd80a,!![],![]);await recheckMutationSnapshot(_0x382408,_0x5b2e0c,'update\x20external\x20menu\x20URL',_0x51afde);try{await updateMenuEntity(_0x382408[_0x3da156(0x12a)],_0x382408[_0x3da156(0x120)],{'id':_0x1fc9de['id'],'url':_0x1fc9de[_0x3da156(0x130)]});}catch(_0x1877fc){const _0xcc9584=mapMenuApiError(_0x1877fc,_0x3da156(0x11b),_0x51afde);if(isMenuResponseLoss(_0x1877fc)&&_0xcc9584[_0x3da156(0x129)]!==_0x3da156(0x122))return recoverAfterResponseLoss(_0x382408,_0x1b8802);throw menuFailure(_0xcc9584,_0x5b2e0c,{'stage':_0x3da156(0x128),'failed':{'id':_0x51afde},'warnings':[_0x3da156(0x146)],'verification':{'status':'failed','targetId':_0x51afde,'lookupCommand':buildLookupCommand(_0x382408['appCode'])}});}let _0x25c3fb,_0x520123;try{_0x25c3fb=await fetchMenuSnapshot(_0x382408[_0x3da156(0x12a)],_0x382408[_0x3da156(0x120)]),_0x520123=requireMenu(_0x25c3fb,_0x51afde),verifyUpdatedFact(_0xecd80a,_0x520123,_0x1fc9de[_0x3da156(0x130)]);}catch(_0x59963f){const _0x1ae810=describeMenuErrorCause(_0x59963f,_0x3da156(0x141),_0x51afde),_0x2714e0=asVerificationError(_0x59963f,'Update\x20request\x20for\x20menu\x20'+_0x51afde+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x2714e0,_0x5b2e0c,{'stage':_0x3da156(0x15a),'succeeded':[{'id':_0x51afde,'updateRequested':!![]}],'failed':{'id':_0x51afde,'requestedStateConfirmed':![],..._0x1ae810},'warnings':[_0x3da156(0x142)],'verification':{'status':_0x3da156(0x139),'targetId':_0x51afde,'lookupCommand':buildLookupCommand(_0x382408[_0x3da156(0x12a)])}});}return updateSuccess(_0x5b2e0c,_0x25c3fb,_0x520123,![],![]);}};function validateInput(_0x4df0bf){const _0x3e0f05=a113_0x12ddee;validateExactId(_0x4df0bf),requiredUrl(_0x4df0bf,_0x3e0f05(0x130)),requiredExpectedUrl(_0x4df0bf),parseParentId(_0x4df0bf,_0x3e0f05(0x13e),{'required':!![]});}function a113_0x22b9(_0x367c87,_0x1c0f19){_0x367c87=_0x367c87-0x112;const _0x3e00f3=a113_0x3e00();let _0x22b967=_0x3e00f3[_0x367c87];return _0x22b967;}function requiredUrl(_0x25398f,_0x5e2f8a){const _0x5014d9=a113_0x12ddee;if(!hasFlag(_0x25398f,_0x5e2f8a)||!_0x25398f[_0x5014d9(0x14b)](_0x5e2f8a)[_0x5014d9(0x151)]())throw CliErrors['flagMissing'](_0x5e2f8a);return validateExternalMenuUrl(_0x25398f['str'](_0x5e2f8a));}function requiredExpectedUrl(_0x11ee7b){const _0x444b7d=a113_0x12ddee;if(!hasFlag(_0x11ee7b,_0x444b7d(0x145))||!_0x11ee7b[_0x444b7d(0x14b)](_0x444b7d(0x145))[_0x444b7d(0x151)]())throw CliErrors[_0x444b7d(0x136)](_0x444b7d(0x145));return _0x11ee7b[_0x444b7d(0x14b)](_0x444b7d(0x145))[_0x444b7d(0x151)]();}async function buildPlan(_0x5487be,_0x4aa3a4){const _0x49e480=a113_0x12ddee,_0x85daf7=validateExactId(_0x5487be),_0x50aa1a=requiredUrl(_0x5487be,_0x49e480(0x130)),_0x15355c=requiredExpectedUrl(_0x5487be),_0x2ca024=parseParentId(_0x5487be,_0x49e480(0x13e),{'required':!![]}),_0x507eab=await fetchMutationSnapshot(_0x5487be,'update\x20external\x20menu\x20URL',_0x85daf7),_0x4ad5e2=requireMenu(_0x507eab,_0x85daf7);assertExternalLinkLeaf(_0x4ad5e2);if(_0x4ad5e2[_0x49e480(0x147)]!==_0x2ca024)throw menuError(_0x49e480(0x123),_0x49e480(0x112)+_0x85daf7+_0x49e480(0x155)+formatParent(_0x2ca024)+',\x20current\x20'+formatParent(_0x4ad5e2[_0x49e480(0x147)])+'.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.');const _0x458458=_0x4ad5e2[_0x49e480(0x130)]===_0x50aa1a;if(!_0x458458&&_0x4ad5e2[_0x49e480(0x130)]!==_0x15355c)throw menuError(_0x49e480(0x123),_0x49e480(0x112)+_0x85daf7+'\x20URL\x20no\x20longer\x20matches\x20--expect-url.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.');const _0x2a5a39={'id':_0x85daf7,'appCode':_0x5487be['appCode'],'url':_0x50aa1a},_0x3eca07={..._0x4ad5e2,'url':_0x50aa1a};return{'body':_0x2a5a39,'before':_0x4ad5e2,'noChanges':_0x458458,'snapshot':_0x507eab,'plan':mutationResult({'operation':'external-link-update','selector':{'id':_0x85daf7},'before':_0x4ad5e2,'after':_0x3eca07,'dryRun':_0x4aa3a4,'backend':[...BACKEND],'plannedActions':_0x458458?[]:[{'stage':_0x49e480(0x143),'method':_0x49e480(0x121),'path':_0x49e480(0x138),'body':_0x2a5a39}],'snapshotHash':_0x507eab[_0x49e480(0x135)],'warnings':_0x458458?[_0x49e480(0x14f)]:[]})};}function assertExternalLinkLeaf(_0x36557a){const _0x5666eb=a113_0x12ddee;if(_0x36557a[_0x5666eb(0x11d)]!==_0x5666eb(0x13c)&&_0x36557a['type']!==_0x5666eb(0x113))throw menuError(_0x5666eb(0x13d),_0x5666eb(0x112)+_0x36557a['id']+'\x20is\x20type\x20\x22'+(_0x36557a[_0x5666eb(0x11d)]||'unknown')+_0x5666eb(0x127),'Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.');if(_0x36557a[_0x5666eb(0x11f)]!==0x0)throw menuError(_0x5666eb(0x11c),'Menu\x20'+_0x36557a['id']+_0x5666eb(0x126)+_0x36557a['childrenCount']+'\x20direct\x20child\x20menu(s).',_0x5666eb(0x150));if(!_0x36557a[_0x5666eb(0x149)][_0x5666eb(0x151)]())throw menuError('menu_external_link_path_missing',_0x5666eb(0x112)+_0x36557a['id']+'\x20has\x20an\x20empty\x20platform\x20path.','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.');}function verifyUpdatedFact(_0x5100a5,_0x104d84,_0x2faf15){const _0x52e1fd=a113_0x12ddee;assertExternalLinkLeaf(_0x104d84);const _0x49333e=[['id',_0x104d84['id'],_0x5100a5['id']],[_0x52e1fd(0x117),_0x104d84[_0x52e1fd(0x117)],_0x5100a5[_0x52e1fd(0x117)]],['type',_0x104d84[_0x52e1fd(0x11d)],_0x5100a5[_0x52e1fd(0x11d)]],['path',_0x104d84[_0x52e1fd(0x149)],_0x5100a5[_0x52e1fd(0x149)]],[_0x52e1fd(0x147),_0x104d84['parentId'],_0x5100a5[_0x52e1fd(0x147)]],['sort',_0x104d84[_0x52e1fd(0x115)],_0x5100a5[_0x52e1fd(0x115)]],['visible',_0x104d84[_0x52e1fd(0x137)],_0x5100a5[_0x52e1fd(0x137)]]];for(const [_0x1fa492,_0x825bd5,_0x532eaf]of _0x49333e){assertVerified(_0x825bd5===_0x532eaf,'Menu\x20'+_0x5100a5['id']+'\x20'+_0x1fa492+_0x52e1fd(0x114));}assertVerified(_0x104d84[_0x52e1fd(0x130)]===_0x2faf15,_0x52e1fd(0x112)+_0x5100a5['id']+'\x20URL\x20update\x20did\x20not\x20take\x20effect.');}function updateSuccess(_0x2eca4b,_0x53d9b7,_0x1f5f3f,_0x767af5,_0x4d3dcb){const _0x289971=a113_0x12ddee,_0x12b15c=_0x1f5f3f['id'],_0x4e51ef=mutationResult({..._0x2eca4b,'after':_0x1f5f3f,'dryRun':![],'succeeded':[{'id':_0x12b15c,'updated':!_0x767af5,'skipped':_0x767af5,'recovered':_0x4d3dcb}],'verification':{'checkedBy':_0x289971(0x14a),'snapshotHash':_0x53d9b7[_0x289971(0x135)],'targetId':_0x12b15c,'matchesRequestedState':!![],'recovered':_0x4d3dcb}});return{'ok':!![],'message':_0x4d3dcb?'Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20'+_0x12b15c+'.':_0x767af5?'Menu\x20'+_0x12b15c+_0x289971(0x124):'Updated\x20external\x20URL\x20for\x20menu\x20'+_0x12b15c+'.','data':{..._0x4e51ef,'recovered':_0x4d3dcb}};}async function recoverAfterResponseLoss(_0x3bc07e,_0x400225){const _0xa9872c=a113_0x12ddee,{plan:_0x407f9c,before:_0x4a202f,body:_0x536313}=_0x400225;let _0x1aab84;try{_0x1aab84=await fetchMenuSnapshot(_0x3bc07e[_0xa9872c(0x12a)],_0x3bc07e['cookie']);}catch{throw recoveryRequired(_0x407f9c,_0x3bc07e[_0xa9872c(0x12a)],{'id':_0x536313['id'],'readbackFailed':!![]});}const _0x1081f0=_0x1aab84[_0xa9872c(0x158)][_0xa9872c(0x140)](_0x536313['id']);if(!_0x1081f0||_0x1081f0[_0xa9872c(0x130)]!==_0x536313[_0xa9872c(0x130)])throw recoveryRequired(_0x407f9c,_0x3bc07e[_0xa9872c(0x12a)],{'id':_0x536313['id'],'requestedUrlObserved':![],'after':_0x1081f0??null});try{verifyUpdatedFact(_0x4a202f,_0x1081f0,_0x536313['url']);}catch(_0x51de54){const _0x269779=asVerificationError(_0x51de54,'Response\x20was\x20lost\x20and\x20menu\x20'+_0x536313['id']+'\x20could\x20not\x20be\x20verified\x20safely');throw menuFailure(_0x269779,_0x407f9c,{'stage':_0xa9872c(0x11a),'succeeded':[{'id':_0x536313['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x536313['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x1081f0,'warnings':[_0xa9872c(0x133)],'verification':{'status':'failed','targetId':_0x536313['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x3bc07e[_0xa9872c(0x12a)])}});}return updateSuccess(_0x407f9c,_0x1aab84,_0x1081f0,![],!![]);}function recoveryRequired(_0x1246b0,_0x3203ac,_0x4715c0){const _0x43070c=a113_0x12ddee,_0x2912bf=menuError(_0x43070c(0x153),_0x43070c(0x134),_0x43070c(0x12b)+buildLookupCommand(_0x3203ac)+_0x43070c(0x14e));return menuFailure(_0x2912bf,_0x1246b0,{'stage':_0x43070c(0x11a),'failed':{'id':_0x4715c0['id'],..._0x4715c0[_0x43070c(0x116)]===undefined?{}:{'requestedUrlObserved':_0x4715c0[_0x43070c(0x116)]},..._0x4715c0[_0x43070c(0x12c)]?{'readbackFailed':!![]}:{}},'after':_0x4715c0[_0x43070c(0x154)],'warnings':[_0x43070c(0x12d)],'verification':{'status':'failed','targetId':_0x4715c0['id'],..._0x4715c0['requestedUrlObserved']===undefined?{}:{'requestedUrlObserved':_0x4715c0[_0x43070c(0x116)]},..._0x4715c0[_0x43070c(0x12c)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x3203ac)}});}function buildLookupCommand(_0x185990){const _0x35d300=a113_0x12ddee,_0x3fc136='\x27'+_0x185990['replace'](/'/g,'\x27\x5c\x27\x27')+'\x27';return'rabetbase\x20menu\x20list\x20--appcode\x20'+_0x3fc136+_0x35d300(0x13f);}function a113_0x3e00(){const _0x16e432=['url','1020814hHrLVz','21046635bkSUMO','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','hash','flagMissing','visible','/smartapi/menu/update','failed','plan','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','iframe','menu_external_link_type_required','expect-parent-id','\x20--format\x20compress','get','verify\x20external\x20menu\x20URL\x20update','The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','update-external-link-url','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','expect-url','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','parentId','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','path','menu\x20list','str','snapshot','572398pjBLnx','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.','trim','4VBcKGJ','menu_update_recovery_required','after','\x20parent\x20changed:\x20expected\x20','external-link-update','204lKVnGY','byId','2980545ZAQlhe','verification','Menu\x20','link','\x20changed\x20during\x20the\x20URL-only\x20update.','sort','requestedUrlObserved','label','1281129OnYCjB','body','update-recovery','update\x20external\x20menu\x20URL','menu_external_link_not_leaf','type','143885anLoIx','childrenCount','cookie','POST','menu_permission_denied','menu_state_drift','\x20already\x20matches\x20the\x20requested\x20URL.','1530072aMnxMc','\x20has\x20','\x22,\x20not\x20iframe\x20or\x20link.','update','code','appCode','Run\x20','readbackFailed','The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','string','menu'];a113_0x3e00=function(){return _0x16e432;};return a113_0x3e00();}
|
|
1
|
+
const a118_0x557633=a118_0x55c7;(function(_0x40e396,_0x590b6b){const _0x13c38e=a118_0x55c7,_0x24a0c6=_0x40e396();while(!![]){try{const _0x16b8d7=-parseInt(_0x13c38e(0x1a9))/0x1+-parseInt(_0x13c38e(0x19d))/0x2*(-parseInt(_0x13c38e(0x1b0))/0x3)+-parseInt(_0x13c38e(0x1ce))/0x4+parseInt(_0x13c38e(0x1ba))/0x5+parseInt(_0x13c38e(0x191))/0x6*(-parseInt(_0x13c38e(0x1cb))/0x7)+-parseInt(_0x13c38e(0x198))/0x8*(parseInt(_0x13c38e(0x1ab))/0x9)+parseInt(_0x13c38e(0x19b))/0xa;if(_0x16b8d7===_0x590b6b)break;else _0x24a0c6['push'](_0x24a0c6['shift']());}catch(_0x345d75){_0x24a0c6['push'](_0x24a0c6['shift']());}}}(a118_0x11a2,0xec982));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a118_0x55c7(_0x523973,_0x471e65){_0x523973=_0x523973-0x18c;const _0x11a262=a118_0x11a2();let _0x55c7df=_0x11a262[_0x523973];return _0x55c7df;}import{validateExternalMenuUrl}from'../../commands/menu/external-link-create.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,hasFlag,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,parseParentId,recheckMutationSnapshot,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a118_0x557633(0x1a2),'path':a118_0x557633(0x1b7)}];export const menuExternalLinkUpdate={'service':'menu','command':a118_0x557633(0x1bf),'description':a118_0x557633(0x1d5),'risk':a118_0x557633(0x1be),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a118_0x557633(0x1cd),'type':a118_0x557633(0x1ca),'required':!![],'description':a118_0x557633(0x1a3)},{'name':'expect-url','type':a118_0x557633(0x1ca),'required':!![],'description':'Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed'},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x53cb1f){validateInput(_0x53cb1f);},async 'dryRun'(_0xcc8117){const _0x43bd51=a118_0x557633;validateInput(_0xcc8117);const _0x18e621=await buildPlan(_0xcc8117,!![]);return menuDryRunResult(_0x18e621[_0x43bd51(0x1d4)],{'method':_0x43bd51(0x1a2),'url':_0x43bd51(0x1b7),'body':_0x18e621['body'],'description':_0x43bd51(0x19e)+_0x18e621['body']['id']+'.'});},async 'execute'(_0x158e79){const _0x292e16=a118_0x557633;validateInput(_0x158e79);const _0x27071d=await buildPlan(_0x158e79,![]),{plan:_0xf65ca9,body:_0x199a3e,before:_0x4f38cb,noChanges:_0x57e3f8}=_0x27071d,_0x591608=_0x199a3e['id'];if(_0x57e3f8)return updateSuccess(_0xf65ca9,_0x27071d[_0x292e16(0x1d3)],_0x4f38cb,!![],![]);await recheckMutationSnapshot(_0x158e79,_0xf65ca9,_0x292e16(0x1c3),_0x591608);try{await updateMenuEntity(_0x158e79[_0x292e16(0x1d8)],_0x158e79['cookie'],{'id':_0x199a3e['id'],'url':_0x199a3e[_0x292e16(0x1cd)]});}catch(_0x17cae9){const _0x51f7d0=mapMenuApiError(_0x17cae9,'update\x20external\x20menu\x20URL',_0x591608);if(isMenuResponseLoss(_0x17cae9)&&_0x51f7d0[_0x292e16(0x194)]!==_0x292e16(0x1ac))return recoverAfterResponseLoss(_0x158e79,_0x27071d);throw menuFailure(_0x51f7d0,_0xf65ca9,{'stage':_0x292e16(0x199),'failed':{'id':_0x591608},'warnings':[_0x292e16(0x1c7)],'verification':{'status':_0x292e16(0x1c9),'targetId':_0x591608,'lookupCommand':buildLookupCommand(_0x158e79['appCode'])}});}let _0x49a3b7,_0x22dad3;try{_0x49a3b7=await fetchMenuSnapshot(_0x158e79[_0x292e16(0x1d8)],_0x158e79[_0x292e16(0x1c1)]),_0x22dad3=requireMenu(_0x49a3b7,_0x591608),verifyUpdatedFact(_0x4f38cb,_0x22dad3,_0x199a3e[_0x292e16(0x1cd)]);}catch(_0x259735){const _0xa74b82=describeMenuErrorCause(_0x259735,_0x292e16(0x18c),_0x591608),_0x5e6815=asVerificationError(_0x259735,_0x292e16(0x195)+_0x591608+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x5e6815,_0xf65ca9,{'stage':_0x292e16(0x1ae),'succeeded':[{'id':_0x591608,'updateRequested':!![]}],'failed':{'id':_0x591608,'requestedStateConfirmed':![],..._0xa74b82},'warnings':[_0x292e16(0x193)],'verification':{'status':_0x292e16(0x1c9),'targetId':_0x591608,'lookupCommand':buildLookupCommand(_0x158e79['appCode'])}});}return updateSuccess(_0xf65ca9,_0x49a3b7,_0x22dad3,![],![]);}};function validateInput(_0x11ee84){const _0x5cfda4=a118_0x557633;validateExactId(_0x11ee84),requiredUrl(_0x11ee84,_0x5cfda4(0x1cd)),requiredExpectedUrl(_0x11ee84),parseParentId(_0x11ee84,_0x5cfda4(0x1d9),{'required':!![]});}function requiredUrl(_0x17c239,_0x540b56){const _0x5d4c0d=a118_0x557633;if(!hasFlag(_0x17c239,_0x540b56)||!_0x17c239['str'](_0x540b56)['trim']())throw CliErrors[_0x5d4c0d(0x1bb)](_0x540b56);return validateExternalMenuUrl(_0x17c239[_0x5d4c0d(0x1b6)](_0x540b56));}function requiredExpectedUrl(_0x51d4ac){const _0x1bef19=a118_0x557633;if(!hasFlag(_0x51d4ac,_0x1bef19(0x18e))||!_0x51d4ac['str']('expect-url')[_0x1bef19(0x1d6)]())throw CliErrors[_0x1bef19(0x1bb)](_0x1bef19(0x18e));return _0x51d4ac[_0x1bef19(0x1b6)]('expect-url')[_0x1bef19(0x1d6)]();}async function buildPlan(_0x17ff0b,_0x4154de){const _0x31076a=a118_0x557633,_0x36d3c2=validateExactId(_0x17ff0b),_0x42fe8c=requiredUrl(_0x17ff0b,'url'),_0x3b7c5f=requiredExpectedUrl(_0x17ff0b),_0x4abac7=parseParentId(_0x17ff0b,_0x31076a(0x1d9),{'required':!![]}),_0x2ee833=await fetchMutationSnapshot(_0x17ff0b,_0x31076a(0x1c3),_0x36d3c2),_0x495734=requireMenu(_0x2ee833,_0x36d3c2);assertExternalLinkLeaf(_0x495734);if(_0x495734[_0x31076a(0x1a1)]!==_0x4abac7)throw menuError(_0x31076a(0x1c0),'Menu\x20'+_0x36d3c2+_0x31076a(0x1b2)+formatParent(_0x4abac7)+_0x31076a(0x1d7)+formatParent(_0x495734['parentId'])+'.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.');const _0x405e2c=_0x495734['url']===_0x42fe8c;if(!_0x405e2c&&_0x495734['url']!==_0x3b7c5f)throw menuError(_0x31076a(0x1c0),_0x31076a(0x1a7)+_0x36d3c2+'\x20URL\x20no\x20longer\x20matches\x20--expect-url.',_0x31076a(0x19c));const _0x3096e5={'id':_0x36d3c2,'appCode':_0x17ff0b['appCode'],'url':_0x42fe8c},_0x278297={..._0x495734,'url':_0x42fe8c};return{'body':_0x3096e5,'before':_0x495734,'noChanges':_0x405e2c,'snapshot':_0x2ee833,'plan':mutationResult({'operation':_0x31076a(0x1bf),'selector':{'id':_0x36d3c2},'before':_0x495734,'after':_0x278297,'dryRun':_0x4154de,'backend':[...BACKEND],'plannedActions':_0x405e2c?[]:[{'stage':'update-external-link-url','method':'POST','path':_0x31076a(0x1b7),'body':_0x3096e5}],'snapshotHash':_0x2ee833['hash'],'warnings':_0x405e2c?['The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.']:[]})};}function a118_0x11a2(){const _0xa61299=['verify\x20external\x20menu\x20URL\x20update','get','expect-url','\x20has\x20','\x20--format\x20compress','11082gwZQJC','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','code','Update\x20request\x20for\x20menu\x20','requestedUrlObserved','readbackFailed','225752sJTJjD','update','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','40568850jPSSBf','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','708386QZdkqW','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','menu_external_link_type_required','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','parentId','POST','New\x20external\x20HTTPS\x20URL','\x20has\x20an\x20empty\x20platform\x20path.','\x20changed\x20during\x20the\x20URL-only\x20update.','label','Menu\x20','visible','1771972tRjUKF','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','369jJmoCU','menu_permission_denied','sort','verification','menu_external_link_path_missing','12zGdzCD','\x20is\x20type\x20\x22','\x20parent\x20changed:\x20expected\x20','menu\x20list','Updated\x20external\x20URL\x20for\x20menu\x20','The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','str','/smartapi/menu/update','path','replace','8680275YhwUov','flagMissing','hash','\x27\x5c\x27\x27','write','external-link-update','menu_state_drift','cookie','\x20could\x20not\x20be\x20verified\x20safely','update\x20external\x20menu\x20URL','\x20direct\x20child\x20menu(s).','after','update-recovery','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','failed','string','6125VyuVHu','childrenCount','url','6782184xfaEck','unknown','iframe','type','\x22,\x20not\x20iframe\x20or\x20link.','snapshot','plan','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','trim',',\x20current\x20','appCode','expect-parent-id','byId'];a118_0x11a2=function(){return _0xa61299;};return a118_0x11a2();}function assertExternalLinkLeaf(_0x5dedfa){const _0x4c9db5=a118_0x557633;if(_0x5dedfa[_0x4c9db5(0x1d1)]!==_0x4c9db5(0x1d0)&&_0x5dedfa[_0x4c9db5(0x1d1)]!=='link')throw menuError(_0x4c9db5(0x19f),_0x4c9db5(0x1a7)+_0x5dedfa['id']+_0x4c9db5(0x1b1)+(_0x5dedfa[_0x4c9db5(0x1d1)]||_0x4c9db5(0x1cf))+_0x4c9db5(0x1d2),_0x4c9db5(0x1a0));if(_0x5dedfa[_0x4c9db5(0x1cc)]!==0x0)throw menuError('menu_external_link_not_leaf',_0x4c9db5(0x1a7)+_0x5dedfa['id']+_0x4c9db5(0x18f)+_0x5dedfa[_0x4c9db5(0x1cc)]+_0x4c9db5(0x1c4),'External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.');if(!_0x5dedfa[_0x4c9db5(0x1b8)][_0x4c9db5(0x1d6)]())throw menuError(_0x4c9db5(0x1af),_0x4c9db5(0x1a7)+_0x5dedfa['id']+_0x4c9db5(0x1a4),_0x4c9db5(0x1aa));}function verifyUpdatedFact(_0x5b5cfe,_0x1223a5,_0x516425){const _0x30485f=a118_0x557633;assertExternalLinkLeaf(_0x1223a5);const _0x4e5ee3=[['id',_0x1223a5['id'],_0x5b5cfe['id']],['label',_0x1223a5[_0x30485f(0x1a6)],_0x5b5cfe[_0x30485f(0x1a6)]],[_0x30485f(0x1d1),_0x1223a5['type'],_0x5b5cfe[_0x30485f(0x1d1)]],[_0x30485f(0x1b8),_0x1223a5[_0x30485f(0x1b8)],_0x5b5cfe[_0x30485f(0x1b8)]],[_0x30485f(0x1a1),_0x1223a5[_0x30485f(0x1a1)],_0x5b5cfe['parentId']],[_0x30485f(0x1ad),_0x1223a5[_0x30485f(0x1ad)],_0x5b5cfe[_0x30485f(0x1ad)]],[_0x30485f(0x1a8),_0x1223a5[_0x30485f(0x1a8)],_0x5b5cfe[_0x30485f(0x1a8)]]];for(const [_0x59e89f,_0x1c41c3,_0x2881f7]of _0x4e5ee3){assertVerified(_0x1c41c3===_0x2881f7,_0x30485f(0x1a7)+_0x5b5cfe['id']+'\x20'+_0x59e89f+_0x30485f(0x1a5));}assertVerified(_0x1223a5[_0x30485f(0x1cd)]===_0x516425,_0x30485f(0x1a7)+_0x5b5cfe['id']+'\x20URL\x20update\x20did\x20not\x20take\x20effect.');}function updateSuccess(_0x4d9370,_0x4f4628,_0x5e51b9,_0x43145f,_0x55ff04){const _0x1f1658=a118_0x557633,_0x1b6f00=_0x5e51b9['id'],_0x6ee7af=mutationResult({..._0x4d9370,'after':_0x5e51b9,'dryRun':![],'succeeded':[{'id':_0x1b6f00,'updated':!_0x43145f,'skipped':_0x43145f,'recovered':_0x55ff04}],'verification':{'checkedBy':_0x1f1658(0x1b3),'snapshotHash':_0x4f4628[_0x1f1658(0x1bc)],'targetId':_0x1b6f00,'matchesRequestedState':!![],'recovered':_0x55ff04}});return{'ok':!![],'message':_0x55ff04?_0x1f1658(0x192)+_0x1b6f00+'.':_0x43145f?_0x1f1658(0x1a7)+_0x1b6f00+'\x20already\x20matches\x20the\x20requested\x20URL.':_0x1f1658(0x1b4)+_0x1b6f00+'.','data':{..._0x6ee7af,'recovered':_0x55ff04}};}async function recoverAfterResponseLoss(_0x101d39,_0x54b111){const _0x438670=a118_0x557633,{plan:_0xcc7359,before:_0xcce5d1,body:_0x191964}=_0x54b111;let _0x52fcb6;try{_0x52fcb6=await fetchMenuSnapshot(_0x101d39['appCode'],_0x101d39['cookie']);}catch{throw recoveryRequired(_0xcc7359,_0x101d39[_0x438670(0x1d8)],{'id':_0x191964['id'],'readbackFailed':!![]});}const _0x187107=_0x52fcb6[_0x438670(0x1da)][_0x438670(0x18d)](_0x191964['id']);if(!_0x187107||_0x187107['url']!==_0x191964[_0x438670(0x1cd)])throw recoveryRequired(_0xcc7359,_0x101d39[_0x438670(0x1d8)],{'id':_0x191964['id'],'requestedUrlObserved':![],'after':_0x187107??null});try{verifyUpdatedFact(_0xcce5d1,_0x187107,_0x191964[_0x438670(0x1cd)]);}catch(_0x4b61da){const _0x2748e=asVerificationError(_0x4b61da,'Response\x20was\x20lost\x20and\x20menu\x20'+_0x191964['id']+_0x438670(0x1c2));throw menuFailure(_0x2748e,_0xcc7359,{'stage':_0x438670(0x1c6),'succeeded':[{'id':_0x191964['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x191964['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x187107,'warnings':[_0x438670(0x1c8)],'verification':{'status':_0x438670(0x1c9),'targetId':_0x191964['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x101d39[_0x438670(0x1d8)])}});}return updateSuccess(_0xcc7359,_0x52fcb6,_0x187107,![],!![]);}function recoveryRequired(_0x310237,_0x386e3b,_0x511e02){const _0x588b86=a118_0x557633,_0x3d3cf6=menuError('menu_update_recovery_required',_0x588b86(0x19a),'Run\x20'+buildLookupCommand(_0x386e3b)+'\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.');return menuFailure(_0x3d3cf6,_0x310237,{'stage':_0x588b86(0x1c6),'failed':{'id':_0x511e02['id'],..._0x511e02[_0x588b86(0x196)]===undefined?{}:{'requestedUrlObserved':_0x511e02[_0x588b86(0x196)]},..._0x511e02[_0x588b86(0x197)]?{'readbackFailed':!![]}:{}},'after':_0x511e02[_0x588b86(0x1c5)],'warnings':[_0x588b86(0x1b5)],'verification':{'status':'failed','targetId':_0x511e02['id'],..._0x511e02[_0x588b86(0x196)]===undefined?{}:{'requestedUrlObserved':_0x511e02[_0x588b86(0x196)]},..._0x511e02[_0x588b86(0x197)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x386e3b)}});}function buildLookupCommand(_0x499ef5){const _0x26f746=a118_0x557633,_0x379178='\x27'+_0x499ef5[_0x26f746(0x1b9)](/'/g,_0x26f746(0x1bd))+'\x27';return'rabetbase\x20menu\x20list\x20--appcode\x20'+_0x379178+_0x26f746(0x190);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a114_0x38c12f=a114_0x4d78;(function(_0x24e7ff,_0x2f0ebb){const _0x3e8a70=a114_0x4d78,_0x3dcc49=_0x24e7ff();while(!![]){try{const _0x400a53=parseInt(_0x3e8a70(0x160))/0x1+-parseInt(_0x3e8a70(0x131))/0x2+-parseInt(_0x3e8a70(0x168))/0x3*(parseInt(_0x3e8a70(0x144))/0x4)+-parseInt(_0x3e8a70(0x164))/0x5*(-parseInt(_0x3e8a70(0x14c))/0x6)+-parseInt(_0x3e8a70(0x133))/0x7*(-parseInt(_0x3e8a70(0x14a))/0x8)+parseInt(_0x3e8a70(0x143))/0x9+-parseInt(_0x3e8a70(0x15d))/0xa*(-parseInt(_0x3e8a70(0x158))/0xb);if(_0x400a53===_0x2f0ebb)break;else _0x3dcc49['push'](_0x3dcc49['shift']());}catch(_0x2ecf52){_0x3dcc49['push'](_0x3dcc49['shift']());}}}(a114_0x2431,0x39c1f));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';function a114_0x4d78(_0x493f1e,_0xc32a69){_0x493f1e=_0x493f1e-0x12d;const _0x24315e=a114_0x2431();let _0x4d784f=_0x24315e[_0x493f1e];return _0x4d784f;}import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a114_0x38c12f(0x167),'path':a114_0x38c12f(0x16c)}];export const menuGroupCreate={'service':'menu','command':a114_0x38c12f(0x142),'description':'Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','risk':'write','structuredErrors':!![],'flags':[{'name':a114_0x38c12f(0x140),'type':a114_0x38c12f(0x169),'required':!![],'description':a114_0x38c12f(0x13b)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x17b504){validateCreateInput(_0x17b504);},async 'dryRun'(_0x3aa57d){const _0x38df5f=a114_0x38c12f,_0x119eaa=await buildCreatePlan(_0x3aa57d,!![]),_0x137c1f=_0x119eaa['after'];return menuDryRunResult(_0x119eaa,{'method':_0x38df5f(0x167),'url':'/smartapi/menu/create','body':{'parentId':toApiParentId(_0x137c1f[_0x38df5f(0x150)]),'label':_0x137c1f[_0x38df5f(0x140)],'type':_0x38df5f(0x136),'visible':!![],'sort':_0x137c1f[_0x38df5f(0x161)],'extend':{}},'description':_0x38df5f(0x159)+String(_0x137c1f[_0x38df5f(0x140)])+_0x38df5f(0x162)});},async 'execute'(_0x2da3fc){const _0x5cb090=a114_0x38c12f;validateCreateInput(_0x2da3fc);const _0x3228ff=await buildCreatePlan(_0x2da3fc,![]),_0x421a23=_0x3228ff[_0x5cb090(0x12e)];await recheckMutationSnapshot(_0x2da3fc,_0x3228ff,_0x5cb090(0x139));let _0x241f9f;try{_0x241f9f=await createMenuEntity(_0x2da3fc[_0x5cb090(0x14b)],_0x2da3fc[_0x5cb090(0x15b)],{'parentId':toApiParentId(_0x421a23[_0x5cb090(0x150)]),'label':String(_0x421a23['label']),'type':_0x5cb090(0x136),'visible':!![],'sort':Number(_0x421a23[_0x5cb090(0x161)]),'extend':{}});}catch(_0x4e2178){const _0xdbb51b=mapMenuApiError(_0x4e2178,_0x5cb090(0x139));throw menuFailure(_0xdbb51b,_0x3228ff,{'stage':'create','failed':{}});}const _0x596dd9=Number(_0x241f9f['id']);if(!Number[_0x5cb090(0x15c)](_0x596dd9)||_0x596dd9<=0x0){const _0x4afc5d=menuError(_0x5cb090(0x152),_0x5cb090(0x13e),'Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.');throw menuFailure(_0x4afc5d,_0x3228ff,{'stage':_0x5cb090(0x149),'failed':{'createdId':_0x241f9f['id']??null},'warnings':['The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.'],'verification':{'status':_0x5cb090(0x13c),'lookupCommand':_0x5cb090(0x16a)}});}const _0x1423ae=typeof _0x241f9f[_0x5cb090(0x13f)]==='string'?_0x241f9f[_0x5cb090(0x13f)]:'';if(!_0x1423ae[_0x5cb090(0x157)]()){const _0x198bcf=menuError('menu_create_response_invalid',_0x5cb090(0x156)+_0x596dd9+_0x5cb090(0x132),_0x5cb090(0x135));throw menuFailure(_0x198bcf,_0x3228ff,{'stage':_0x5cb090(0x149),'succeeded':[{'id':_0x596dd9,'created':!![]}],'failed':{'id':_0x596dd9,'generatedPathConfirmed':![]},'warnings':[_0x5cb090(0x151)+_0x596dd9+_0x5cb090(0x16b)],'after':{..._0x421a23,'id':_0x596dd9,'path':_0x1423ae},'verification':{'status':'failed','lookupCommand':_0x5cb090(0x16a),'targetId':_0x596dd9}});}let _0x19ea04;try{_0x19ea04=await fetchMenuSnapshot(_0x2da3fc[_0x5cb090(0x14b)],_0x2da3fc['cookie']);}catch(_0xee8fbe){const _0x2ea079=describeMenuErrorCause(_0xee8fbe,_0x5cb090(0x16e),_0x596dd9),_0x1708f9=asVerificationError(_0xee8fbe,_0x5cb090(0x151)+_0x596dd9+_0x5cb090(0x137));throw menuFailure(_0x1708f9,_0x3228ff,{'stage':'verification','succeeded':[{'id':_0x596dd9,'created':!![],'path':_0x1423ae}],'failed':{'id':_0x596dd9,'finalFactsConfirmed':![],..._0x2ea079},'warnings':['Folder\x20'+_0x596dd9+_0x5cb090(0x130)+JSON[_0x5cb090(0x146)](_0x1423ae)+_0x5cb090(0x166)],'after':{..._0x421a23,'id':_0x596dd9,'path':_0x1423ae},'verification':{'status':_0x5cb090(0x13c),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x596dd9}});}const _0x485fd4=_0x19ea04[_0x5cb090(0x138)]['get'](_0x596dd9);let _0x578745;try{assertVerified(Boolean(_0x485fd4),_0x5cb090(0x147)+_0x596dd9+_0x5cb090(0x145)),_0x578745=_0x485fd4,assertVerified(_0x578745[_0x5cb090(0x15a)]===_0x5cb090(0x136),_0x5cb090(0x163)+_0x596dd9+'\x20is\x20not\x20type\x20folder.'),assertVerified(_0x578745[_0x5cb090(0x140)]===_0x421a23['label'],'Created\x20folder\x20'+_0x596dd9+_0x5cb090(0x13a)),assertVerified(_0x578745['path']===_0x1423ae&&Boolean(_0x578745[_0x5cb090(0x13f)]['trim']()),_0x5cb090(0x147)+_0x596dd9+_0x5cb090(0x12f)),assertVerified(_0x578745['visible']===!![],_0x5cb090(0x147)+_0x596dd9+_0x5cb090(0x141)),assertVerified(_0x578745['resources'][_0x5cb090(0x16f)]===0x0,_0x5cb090(0x147)+_0x596dd9+'\x20has\x20resources.'),assertVerified(_0x578745['childrenCount']===0x0,_0x5cb090(0x147)+_0x596dd9+_0x5cb090(0x15e)),assertVerified(_0x578745[_0x5cb090(0x161)]===_0x421a23[_0x5cb090(0x161)],'Created\x20folder\x20'+_0x596dd9+_0x5cb090(0x155)),assertVerified(_0x578745[_0x5cb090(0x150)]===_0x421a23[_0x5cb090(0x150)],_0x5cb090(0x147)+_0x596dd9+'\x20has\x20unexpected\x20parent\x20'+(_0x578745[_0x5cb090(0x150)]??_0x5cb090(0x15f))+'.'),assertVerified(_0x578745['pageId']==null,_0x5cb090(0x147)+_0x596dd9+_0x5cb090(0x134));const _0x2e48a9=_0x578745['parentId']==null?undefined:requireFolder(_0x19ea04,_0x578745['parentId']);assertVerified(_0x578745[_0x5cb090(0x14d)]===(_0x2e48a9?_0x2e48a9[_0x5cb090(0x14d)]+0x1:0x0),_0x5cb090(0x147)+_0x596dd9+'\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.');}catch(_0x156915){const _0x4009e4=describeMenuErrorCause(_0x156915,_0x5cb090(0x16e),_0x596dd9),_0xa41a35=asVerificationError(_0x156915,'Folder\x20'+_0x596dd9+'\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract');throw menuFailure(_0xa41a35,_0x3228ff,{'stage':'verification','succeeded':[{'id':_0x596dd9,'created':!![],'path':_0x1423ae}],'failed':{'id':_0x596dd9,'finalFactsConfirmed':![],..._0x4009e4},'warnings':[_0x5cb090(0x151)+_0x596dd9+_0x5cb090(0x12d)],'after':_0x485fd4??{..._0x421a23,'id':_0x596dd9,'path':_0x1423ae},'verification':{'status':_0x5cb090(0x13c),'lookupCommand':_0x5cb090(0x16a),'targetId':_0x596dd9}});}const _0x1e1697=mutationResult({..._0x3228ff,'after':_0x578745,'dryRun':![],'succeeded':[{'id':_0x596dd9,'type':_0x5cb090(0x136),'path':_0x1423ae}],'verification':{'checkedBy':_0x5cb090(0x16d),'snapshotHash':_0x19ea04[_0x5cb090(0x165)],'folder':!![],'path':_0x1423ae,'emptyResources':!![]}});return{'ok':!![],'data':_0x1e1697,'message':_0x5cb090(0x148)+_0x596dd9+'.'};}};function validateCreateInput(_0x4f5b71){const _0x407e50=a114_0x38c12f,_0x2fd401=_0x4f5b71[_0x407e50(0x14f)](_0x407e50(0x140))[_0x407e50(0x157)]();if(!_0x2fd401)throw CliErrors[_0x407e50(0x153)](_0x407e50(0x140));parseParentId(_0x4f5b71,_0x407e50(0x154)),validateSort(_0x4f5b71);}async function buildCreatePlan(_0x139cf0,_0x5317c4){const _0x3c964a=a114_0x38c12f,_0x3eb12d=await fetchMutationSnapshot(_0x139cf0,_0x3c964a(0x139)),_0x237a39=parseParentId(_0x139cf0,_0x3c964a(0x154))??null;if(_0x237a39!=null)requireFolder(_0x3eb12d,_0x237a39);const _0x14286b=validateSort(_0x139cf0),_0x586b2f=_0x14286b??nextSiblingSort(_0x3eb12d,_0x237a39,'folder'),_0x4aa3a1=_0x139cf0[_0x3c964a(0x14f)](_0x3c964a(0x140))[_0x3c964a(0x157)]();return mutationResult({'operation':_0x3c964a(0x142),'selector':{'label':_0x4aa3a1,'parentId':_0x237a39},'before':null,'after':{'id':null,'parentId':_0x237a39,'label':_0x4aa3a1,'path':_0x3c964a(0x14e),'type':_0x3c964a(0x136),'visible':!![],'sort':_0x586b2f,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x5317c4,'backend':[...BACKEND],'plannedActions':[{'stage':_0x3c964a(0x13d),'method':'POST','path':_0x3c964a(0x16c),'body':{'parentId':toApiParentId(_0x237a39),'label':_0x4aa3a1,'type':_0x3c964a(0x136),'visible':!![],'sort':_0x586b2f,'extend':{}}}],'snapshotHash':_0x3eb12d['hash'],'warnings':['The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.']});}function a114_0x2431(){const _0x43f69a=['8RHseAF','appCode','1686XIeaek','depth','<platform-generated>','str','parentId','Folder\x20','menu_create_response_invalid','flagMissing','parent-id','\x20has\x20an\x20unexpected\x20sort.','Menu\x20create\x20response\x20for\x20folder\x20','trim','11xQniJh','Would\x20create\x20empty\x20folder\x20\x22','type','cookie','isSafeInteger','2761790GvqTDt','\x20is\x20not\x20empty.','root','69013tAiSUd','sort','\x22\x20with\x20a\x20platform-generated\x20path.','Created\x20menu\x20','335JHJMWF','hash',';\x20verify\x20it\x20before\x20retrying.','POST','438411NGiuRC','string','rabetbase\x20menu\x20list\x20--format\x20json','\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.','/smartapi/menu/create','menu\x20list','verify\x20folder\x20creation','length','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','after','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','\x20may\x20exist\x20online\x20at\x20path\x20','498490naFuWh','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','343483thAMTM','\x20unexpectedly\x20owns\x20a\x20page.','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.','folder','\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts','byId','create\x20folder','\x20has\x20an\x20unexpected\x20label.','Folder\x20label','failed','create-folder','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','path','label','\x20is\x20not\x20visible.','group-create','3285054cNEdbb','8SCmDcF','\x20is\x20missing\x20from\x20menu\x20list.','stringify','Created\x20folder\x20','Created\x20menu\x20folder\x20','create-response-validation'];a114_0x2431=function(){return _0x43f69a;};return a114_0x2431();}
|
|
1
|
+
function a119_0x51c2(){const _0x25e712=['after',';\x20verify\x20it\x20before\x20retrying.','\x20may\x20exist\x20online\x20at\x20path\x20','label','Created\x20folder\x20','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','root','folder','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','1977610xgAUHl','The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','/smartapi/menu/create','<platform-generated>','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','group-create','flagMissing','\x20is\x20not\x20empty.','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.','str','create\x20folder','\x20unexpectedly\x20owns\x20a\x20page.','POST','get','hash','4247446HoRBKx','parentId','5245200EiZwUH','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.','2257588BnsgJC','depth','Folder\x20label','287061kVzyxZ','cookie','3515650IcVvZd','Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','parent-id','menu_create_response_invalid','Created\x20menu\x20folder\x20','string','pageId','143qGUosE','8zhYOYc','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','trim','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','stringify','Would\x20create\x20empty\x20folder\x20\x22','create','failed','6awypki','verification','verify\x20folder\x20creation','rabetbase\x20menu\x20list\x20--format\x20json','appCode','isSafeInteger','create-response-validation','458287IEkRLn','10KSOtRx','menu\x20list','sort','\x20is\x20not\x20type\x20folder.','path','\x20is\x20missing\x20from\x20menu\x20list.','\x20has\x20an\x20unexpected\x20sort.','Folder\x20','byId','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.'];a119_0x51c2=function(){return _0x25e712;};return a119_0x51c2();}const a119_0x44f443=a119_0xd8ff;(function(_0x2b8679,_0x553e61){const _0x2ef0ae=a119_0xd8ff,_0xa0058f=_0x2b8679();while(!![]){try{const _0x265217=-parseInt(_0x2ef0ae(0x202))/0x1+parseInt(_0x2ef0ae(0x203))/0x2*(-parseInt(_0x2ef0ae(0x1e9))/0x3)+-parseInt(_0x2ef0ae(0x1e6))/0x4+-parseInt(_0x2ef0ae(0x1eb))/0x5*(parseInt(_0x2ef0ae(0x1fb))/0x6)+-parseInt(_0x2ef0ae(0x1e2))/0x7*(-parseInt(_0x2ef0ae(0x1f3))/0x8)+-parseInt(_0x2ef0ae(0x1e4))/0x9+parseInt(_0x2ef0ae(0x1d3))/0xa*(parseInt(_0x2ef0ae(0x1f2))/0xb);if(_0x265217===_0x553e61)break;else _0xa0058f['push'](_0xa0058f['shift']());}catch(_0x3e9973){_0xa0058f['push'](_0xa0058f['shift']());}}}(a119_0x51c2,0x5f5de));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a119_0xd8ff(_0x4b78d5,_0x1a9a91){_0x4b78d5=_0x4b78d5-0x1d2;const _0x51c2d6=a119_0x51c2();let _0xd8ff02=_0x51c2d6[_0x4b78d5];return _0xd8ff02;}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':a119_0x44f443(0x1df),'path':a119_0x44f443(0x1d5)}];export const menuGroupCreate={'service':'menu','command':a119_0x44f443(0x1d8),'description':a119_0x44f443(0x1ec),'risk':'write','structuredErrors':!![],'flags':[{'name':a119_0x44f443(0x210),'type':a119_0x44f443(0x1f0),'required':!![],'description':a119_0x44f443(0x1e8)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x40935e){validateCreateInput(_0x40935e);},async 'dryRun'(_0x2d95a7){const _0x5984f1=a119_0x44f443,_0x636cb2=await buildCreatePlan(_0x2d95a7,!![]),_0x638cde=_0x636cb2['after'];return menuDryRunResult(_0x636cb2,{'method':_0x5984f1(0x1df),'url':_0x5984f1(0x1d5),'body':{'parentId':toApiParentId(_0x638cde[_0x5984f1(0x1e3)]),'label':_0x638cde[_0x5984f1(0x210)],'type':_0x5984f1(0x214),'visible':!![],'sort':_0x638cde[_0x5984f1(0x205)],'extend':{}},'description':_0x5984f1(0x1f8)+String(_0x638cde[_0x5984f1(0x210)])+'\x22\x20with\x20a\x20platform-generated\x20path.'});},async 'execute'(_0x3098dd){const _0x18ee45=a119_0x44f443;validateCreateInput(_0x3098dd);const _0x5369a3=await buildCreatePlan(_0x3098dd,![]),_0x46d4d6=_0x5369a3[_0x18ee45(0x20d)];await recheckMutationSnapshot(_0x3098dd,_0x5369a3,_0x18ee45(0x1dd));let _0x10badb;try{_0x10badb=await createMenuEntity(_0x3098dd['appCode'],_0x3098dd[_0x18ee45(0x1ea)],{'parentId':toApiParentId(_0x46d4d6[_0x18ee45(0x1e3)]),'label':String(_0x46d4d6[_0x18ee45(0x210)]),'type':_0x18ee45(0x214),'visible':!![],'sort':Number(_0x46d4d6['sort']),'extend':{}});}catch(_0x4c3192){const _0x490cc6=mapMenuApiError(_0x4c3192,_0x18ee45(0x1dd));throw menuFailure(_0x490cc6,_0x5369a3,{'stage':_0x18ee45(0x1f9),'failed':{}});}const _0x1c8ee1=Number(_0x10badb['id']);if(!Number[_0x18ee45(0x200)](_0x1c8ee1)||_0x1c8ee1<=0x0){const _0x1dfe56=menuError(_0x18ee45(0x1ee),_0x18ee45(0x212),_0x18ee45(0x1f4));throw menuFailure(_0x1dfe56,_0x5369a3,{'stage':_0x18ee45(0x201),'failed':{'createdId':_0x10badb['id']??null},'warnings':[_0x18ee45(0x1d2)],'verification':{'status':'failed','lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json'}});}const _0x3c8689=typeof _0x10badb[_0x18ee45(0x207)]===_0x18ee45(0x1f0)?_0x10badb[_0x18ee45(0x207)]:'';if(!_0x3c8689['trim']()){const _0x37e51b=menuError(_0x18ee45(0x1ee),'Menu\x20create\x20response\x20for\x20folder\x20'+_0x1c8ee1+_0x18ee45(0x1d7),_0x18ee45(0x1e5));throw menuFailure(_0x37e51b,_0x5369a3,{'stage':'create-response-validation','succeeded':[{'id':_0x1c8ee1,'created':!![]}],'failed':{'id':_0x1c8ee1,'generatedPathConfirmed':![]},'warnings':[_0x18ee45(0x20a)+_0x1c8ee1+'\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.'],'after':{..._0x46d4d6,'id':_0x1c8ee1,'path':_0x3c8689},'verification':{'status':_0x18ee45(0x1fa),'lookupCommand':_0x18ee45(0x1fe),'targetId':_0x1c8ee1}});}let _0x1df837;try{_0x1df837=await fetchMenuSnapshot(_0x3098dd[_0x18ee45(0x1ff)],_0x3098dd[_0x18ee45(0x1ea)]);}catch(_0x43b593){const _0x1aa53e=describeMenuErrorCause(_0x43b593,_0x18ee45(0x1fd),_0x1c8ee1),_0x9c8523=asVerificationError(_0x43b593,'Folder\x20'+_0x1c8ee1+'\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts');throw menuFailure(_0x9c8523,_0x5369a3,{'stage':'verification','succeeded':[{'id':_0x1c8ee1,'created':!![],'path':_0x3c8689}],'failed':{'id':_0x1c8ee1,'finalFactsConfirmed':![],..._0x1aa53e},'warnings':[_0x18ee45(0x20a)+_0x1c8ee1+_0x18ee45(0x20f)+JSON[_0x18ee45(0x1f7)](_0x3c8689)+_0x18ee45(0x20e)],'after':{..._0x46d4d6,'id':_0x1c8ee1,'path':_0x3c8689},'verification':{'status':_0x18ee45(0x1fa),'lookupCommand':_0x18ee45(0x1fe),'targetId':_0x1c8ee1}});}const _0x342863=_0x1df837[_0x18ee45(0x20b)][_0x18ee45(0x1e0)](_0x1c8ee1);let _0x5f3002;try{assertVerified(Boolean(_0x342863),'Created\x20folder\x20'+_0x1c8ee1+_0x18ee45(0x208)),_0x5f3002=_0x342863,assertVerified(_0x5f3002['type']===_0x18ee45(0x214),'Created\x20menu\x20'+_0x1c8ee1+_0x18ee45(0x206)),assertVerified(_0x5f3002[_0x18ee45(0x210)]===_0x46d4d6[_0x18ee45(0x210)],_0x18ee45(0x211)+_0x1c8ee1+'\x20has\x20an\x20unexpected\x20label.'),assertVerified(_0x5f3002[_0x18ee45(0x207)]===_0x3c8689&&Boolean(_0x5f3002['path'][_0x18ee45(0x1f5)]()),_0x18ee45(0x211)+_0x1c8ee1+_0x18ee45(0x1f6)),assertVerified(_0x5f3002['visible']===!![],_0x18ee45(0x211)+_0x1c8ee1+'\x20is\x20not\x20visible.'),assertVerified(_0x5f3002['resources']['length']===0x0,_0x18ee45(0x211)+_0x1c8ee1+'\x20has\x20resources.'),assertVerified(_0x5f3002['childrenCount']===0x0,'Created\x20folder\x20'+_0x1c8ee1+_0x18ee45(0x1da)),assertVerified(_0x5f3002[_0x18ee45(0x205)]===_0x46d4d6[_0x18ee45(0x205)],_0x18ee45(0x211)+_0x1c8ee1+_0x18ee45(0x209)),assertVerified(_0x5f3002[_0x18ee45(0x1e3)]===_0x46d4d6[_0x18ee45(0x1e3)],'Created\x20folder\x20'+_0x1c8ee1+'\x20has\x20unexpected\x20parent\x20'+(_0x5f3002[_0x18ee45(0x1e3)]??_0x18ee45(0x213))+'.'),assertVerified(_0x5f3002[_0x18ee45(0x1f1)]==null,'Created\x20folder\x20'+_0x1c8ee1+_0x18ee45(0x1de));const _0x35e542=_0x5f3002['parentId']==null?undefined:requireFolder(_0x1df837,_0x5f3002['parentId']);assertVerified(_0x5f3002[_0x18ee45(0x1e7)]===(_0x35e542?_0x35e542[_0x18ee45(0x1e7)]+0x1:0x0),_0x18ee45(0x211)+_0x1c8ee1+_0x18ee45(0x1db));}catch(_0x255f54){const _0x12671e=describeMenuErrorCause(_0x255f54,_0x18ee45(0x1fd),_0x1c8ee1),_0x2ffa61=asVerificationError(_0x255f54,_0x18ee45(0x20a)+_0x1c8ee1+'\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract');throw menuFailure(_0x2ffa61,_0x5369a3,{'stage':_0x18ee45(0x1fc),'succeeded':[{'id':_0x1c8ee1,'created':!![],'path':_0x3c8689}],'failed':{'id':_0x1c8ee1,'finalFactsConfirmed':![],..._0x12671e},'warnings':[_0x18ee45(0x20a)+_0x1c8ee1+_0x18ee45(0x20c)],'after':_0x342863??{..._0x46d4d6,'id':_0x1c8ee1,'path':_0x3c8689},'verification':{'status':_0x18ee45(0x1fa),'lookupCommand':_0x18ee45(0x1fe),'targetId':_0x1c8ee1}});}const _0x432322=mutationResult({..._0x5369a3,'after':_0x5f3002,'dryRun':![],'succeeded':[{'id':_0x1c8ee1,'type':_0x18ee45(0x214),'path':_0x3c8689}],'verification':{'checkedBy':_0x18ee45(0x204),'snapshotHash':_0x1df837[_0x18ee45(0x1e1)],'folder':!![],'path':_0x3c8689,'emptyResources':!![]}});return{'ok':!![],'data':_0x432322,'message':_0x18ee45(0x1ef)+_0x1c8ee1+'.'};}};function validateCreateInput(_0x399d87){const _0x5d5b07=a119_0x44f443,_0x15a0ed=_0x399d87['str'](_0x5d5b07(0x210))[_0x5d5b07(0x1f5)]();if(!_0x15a0ed)throw CliErrors[_0x5d5b07(0x1d9)](_0x5d5b07(0x210));parseParentId(_0x399d87,_0x5d5b07(0x1ed)),validateSort(_0x399d87);}async function buildCreatePlan(_0x296276,_0x4e5d5f){const _0x15c1fb=a119_0x44f443,_0x170be8=await fetchMutationSnapshot(_0x296276,_0x15c1fb(0x1dd)),_0x2fb44c=parseParentId(_0x296276,'parent-id')??null;if(_0x2fb44c!=null)requireFolder(_0x170be8,_0x2fb44c);const _0x618a94=validateSort(_0x296276),_0x51d3ca=_0x618a94??nextSiblingSort(_0x170be8,_0x2fb44c,_0x15c1fb(0x214)),_0x3d23e2=_0x296276[_0x15c1fb(0x1dc)](_0x15c1fb(0x210))[_0x15c1fb(0x1f5)]();return mutationResult({'operation':_0x15c1fb(0x1d8),'selector':{'label':_0x3d23e2,'parentId':_0x2fb44c},'before':null,'after':{'id':null,'parentId':_0x2fb44c,'label':_0x3d23e2,'path':_0x15c1fb(0x1d6),'type':_0x15c1fb(0x214),'visible':!![],'sort':_0x51d3ca,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x4e5d5f,'backend':[...BACKEND],'plannedActions':[{'stage':'create-folder','method':_0x15c1fb(0x1df),'path':_0x15c1fb(0x1d5),'body':{'parentId':toApiParentId(_0x2fb44c),'label':_0x3d23e2,'type':_0x15c1fb(0x214),'visible':!![],'sort':_0x51d3ca,'extend':{}}}],'snapshotHash':_0x170be8[_0x15c1fb(0x1e1)],'warnings':[_0x15c1fb(0x1d4)]});}
|