@lovrabet/rabetbase-cli 2.5.1-beta.1 → 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.js +1 -1
- package/lib/auth/constant.js +1 -1
- package/lib/auth/get-cookie.js +1 -1
- package/lib/auth/get-session-user.js +1 -1
- package/lib/auth/is-session-valid.js +1 -1
- package/lib/auth/login-success-html.js +1 -1
- package/lib/auth/logout.js +1 -1
- package/lib/cli-flags.js +1 -1
- package/lib/cli.js +1 -1
- package/lib/commands/api/generate.js +1 -1
- package/lib/commands/api/index.js +1 -1
- package/lib/commands/api/list.js +1 -1
- package/lib/commands/api/pull.js +1 -1
- package/lib/commands/api/shared.js +1 -1
- package/lib/commands/app/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/members-list.js +1 -1
- package/lib/commands/app/remote-directory.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/delete.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/app-config/list.js +1 -1
- package/lib/commands/app-config/set.js +1 -1
- package/lib/commands/app-config/shared.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/bff/create.js +1 -1
- package/lib/commands/bff/delete.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/bff/list.js +1 -1
- package/lib/commands/bff/pull.js +1 -1
- package/lib/commands/bff/push.js +1 -1
- package/lib/commands/bff/status.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/cli-update.js +1 -1
- package/lib/commands/codegen/index.js +1 -1
- package/lib/commands/codegen/sdk.js +1 -1
- package/lib/commands/codegen/sql.js +1 -1
- package/lib/commands/common/app-registry.js +1 -1
- package/lib/commands/common/app-selector.js +1 -1
- package/lib/commands/common/async-task.js +1 -1
- package/lib/commands/common/dry-run.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/common/validate.js +1 -1
- package/lib/commands/config/delete.js +1 -1
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/init.js +1 -1
- package/lib/commands/config/list.js +1 -1
- package/lib/commands/config/set.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/dataset/business-group-update.js +1 -1
- package/lib/commands/dataset/business-groups.js +1 -1
- package/lib/commands/dataset/capability.js +1 -1
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/extend-update.js +1 -1
- package/lib/commands/dataset/field-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.js +1 -1
- package/lib/config/project-routing.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.js +1 -1
- package/lib/constant/region.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/constant/routing-profile.js +1 -1
- 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 -1
- package/skills/rabetbase/SKILL.md +11 -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.manifest.json +6 -3
|
@@ -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
|
-
|
|
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_0x336424=a110_0xdc00;(function(_0x1d3150,_0x4d3720){const _0x31030e=a110_0xdc00,_0x16e4c0=_0x1d3150();while(!![]){try{const _0x303e05=parseInt(_0x31030e(0x1d6))/0x1+-parseInt(_0x31030e(0x1b4))/0x2*(-parseInt(_0x31030e(0x1ee))/0x3)+-parseInt(_0x31030e(0x1ab))/0x4*(-parseInt(_0x31030e(0x1ea))/0x5)+parseInt(_0x31030e(0x1f1))/0x6*(-parseInt(_0x31030e(0x1b9))/0x7)+parseInt(_0x31030e(0x1e9))/0x8*(parseInt(_0x31030e(0x19f))/0x9)+-parseInt(_0x31030e(0x1d9))/0xa*(-parseInt(_0x31030e(0x1cb))/0xb)+-parseInt(_0x31030e(0x1f4))/0xc;if(_0x303e05===_0x4d3720)break;else _0x16e4c0['push'](_0x16e4c0['shift']());}catch(_0x2b5f66){_0x16e4c0['push'](_0x16e4c0['shift']());}}}(a110_0x18b4,0xe88b1));import a110_0x34de45 from'chalk';function a110_0xdc00(_0x53f414,_0x44e5d2){_0x53f414=_0x53f414-0x19e;const _0x18b457=a110_0x18b4();let _0xdc0042=_0x18b457[_0x53f414];return _0xdc0042;}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 a110_0x18b4(){const _0x11a142=['cyan','validation','\x20menu(s)\x20failed','appCode','!\x20No\x20menus\x20with\x20existing\x20resources\x20found','4xolfEy','Failed\x20to\x20fetch\x20online\x20menu\x20list','patch\x20replaces\x20a\x20supplied\x20type\x20only\x20when\x20the\x20existing\x20target\x20is\x20unambiguous','Invalid\x20--mode.\x20Allowed\x20values:\x20replace,\x20patch','Menu\x20asset\x20update\x20completed:\x20','3751160VMFjek','Updated\x20','trim','Menu\x20asset\x20update\x20skipped','force','load-mode','cookie','\x20\x20Update\x20','✓\x20Menu\x20asset\x20update\x20completed:\x20','boolean','No\x20menus\x20with\x20existing\x20resources\x20would\x20be\x20updated.','\x20menu(s)','replace','paths','Pre-fill\x20JS/CSS\x20URLs\x20to\x20update.\x20','bool','Invalid\x20--load-mode.\x20Allowed\x20values:\x20import,\x20script,\x20fetch','\x20menu(s)...','68596HISpJo','\x20updated,\x20','updated','\x20\x20Cancelled.','\x20failed.','appcode','isArray','fetch','Allow\x20replace\x20mode\x20to\x20remove\x20existing\x20JS\x20resources','object','split','211091LCHZdc','gray','menu\x20asset-update\x20requires\x20a\x20project\x20context\x20or\x20explicit\x20--appcode.\x20','1550TVxfYW','message','\x20menu\x20resource\x20set(s).','asset-update','import','patch','stringify','jsUrl','mode','rawFlags','Explicitly\x20change\x20the\x20microfrontend\x20resource\x20loading\x20mode','write','\x20and\x20CSS:\x20','\x20\x20!\x20No\x20menus\x20with\x20existing\x20resources\x20found','/smartapi/menu/update','script','6008BDmmXF','125215JxYRzs','Would\x20update\x20','--all\x20cannot\x20be\x20combined\x20with\x20--menu-ids\x20or\x20--paths.','cssUrl','2387826Pmzvjm','label','\x20menu(s)\x20updated','6DtQVdq','diffs','POST','30709464UqfmkZ','Explicitly\x20update\x20every\x20menu\x20that\x20has\x20resources','str','length','isSafeInteger','JSON:\x20{\x22jsUrl\x22:\x22https://...js\x22,\x22cssUrl\x22:\x22https://...css\x22}','menu-ids','9csxzYs','Menu\x20asset\x20update\x20failed','map','failed','string','\x20updated.','Online\x20menu\x20list\x20fetched','Exact\x20comma-separated\x20menu\x20paths\x20to\x20update','params','Exact\x20comma-separated\x20menu\x20IDs\x20to\x20update','\x20\x20Found\x20','parse','204BMIByi','skipped','--menu-ids\x20must\x20contain\x20positive\x20safe\x20integers.','all'];a110_0x18b4=function(){return _0x11a142;};return a110_0x18b4();}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':'menu','command':a110_0x336424(0x1dc),'description':'Update\x20CDN\x20asset\x20URLs\x20for\x20selected\x20online\x20menus\x20with\x20existing\x20resources','risk':a110_0x336424(0x1e4),'flags':[{'name':'params','type':a110_0x336424(0x1a3),'description':a110_0x336424(0x1c7)+a110_0x336424(0x1f9)},{'name':'mode','type':a110_0x336424(0x1a3),'description':'Resource\x20update\x20mode:\x20replace\x20rewrites\x20resources\x20from\x20supplied\x20URLs;\x20'+a110_0x336424(0x1b6),'enum':[a110_0x336424(0x1c5),'patch'],'default':'patch'},{'name':a110_0x336424(0x1bd),'type':a110_0x336424(0x1c2),'description':a110_0x336424(0x1d3)},{'name':a110_0x336424(0x19e),'type':a110_0x336424(0x1a3),'description':a110_0x336424(0x1a8)},{'name':a110_0x336424(0x1c6),'type':a110_0x336424(0x1a3),'description':a110_0x336424(0x1a6)},{'name':a110_0x336424(0x1ae),'type':a110_0x336424(0x1c2),'description':a110_0x336424(0x1f5)},{'name':a110_0x336424(0x1be),'type':a110_0x336424(0x1a3),'enum':[a110_0x336424(0x1dd),'script',a110_0x336424(0x1d2)],'description':a110_0x336424(0x1e3)}],async 'dryRun'(_0x128acc){const _0x548dfc=a110_0x336424;ensureRunnableContext(_0x128acc[_0x548dfc(0x1e2)],_0x128acc['selectedAppName']);const _0x3911c8=await runMenuUpdateCore(_0x128acc[_0x548dfc(0x1b2)],_0x128acc['cookie'],_0x128acc[_0x548dfc(0x1f6)](_0x548dfc(0x1a7)),{'mode':parseMode(_0x128acc[_0x548dfc(0x1f6)](_0x548dfc(0x1e1))),'dryRun':!![],'force':_0x128acc[_0x548dfc(0x1c8)](_0x548dfc(0x1bd)),'selection':parseSelection(_0x128acc),'loadScriptMode':parseLoadScriptMode(_0x128acc[_0x548dfc(0x1f6)](_0x548dfc(0x1be)))});return{'method':_0x548dfc(0x1f3),'url':_0x548dfc(0x1e7),'body':_0x3911c8,'description':_0x3911c8['skipped']?_0x548dfc(0x1c3):_0x548dfc(0x1eb)+(_0x3911c8[_0x548dfc(0x1f2)]?.['length']??0x0)+_0x548dfc(0x1db)};},async 'execute'(_0x51a75b){const _0x5d53c3=a110_0x336424;ensureRunnableContext(_0x51a75b[_0x5d53c3(0x1e2)],_0x51a75b['selectedAppName']);const _0x345270=_0x51a75b[_0x5d53c3(0x1f6)](_0x5d53c3(0x1a7)),_0x2f663f=parseMode(_0x51a75b[_0x5d53c3(0x1f6)](_0x5d53c3(0x1e1))),_0x2f308f=_0x51a75b['bool'](_0x5d53c3(0x1bd)),_0x4359bf=parseLoadScriptMode(_0x51a75b['str'](_0x5d53c3(0x1be))),_0x46979d=parseParams(_0x345270),_0x2ff927=!!(_0x46979d[_0x5d53c3(0x1e0)]||_0x46979d[_0x5d53c3(0x1ed)]);if(_0x2ff927){const _0x45780d=await runMenuUpdateCore(_0x51a75b[_0x5d53c3(0x1b2)],_0x51a75b[_0x5d53c3(0x1bf)],_0x345270,{'mode':_0x2f663f,'force':_0x2f308f,'selection':parseSelection(_0x51a75b),'loadScriptMode':_0x4359bf});return _0x45780d[_0x5d53c3(0x1ac)]?writeCliSideChannelLine(_0x5d53c3(0x1b3)):(writeCliSideChannelLine(_0x5d53c3(0x1c1)+_0x45780d[_0x5d53c3(0x1cd)]+_0x5d53c3(0x1f0)),_0x45780d[_0x5d53c3(0x1a2)]>0x0&&writeCliSideChannelLine('!\x20'+_0x45780d[_0x5d53c3(0x1a2)]+_0x5d53c3(0x1b1))),{'ok':_0x45780d[_0x5d53c3(0x1a2)]===0x0,'data':_0x45780d,'message':_0x45780d[_0x5d53c3(0x1ac)]?_0x5d53c3(0x1bc):_0x5d53c3(0x1b8)+_0x45780d[_0x5d53c3(0x1cd)]+'\x20updated,\x20'+_0x45780d[_0x5d53c3(0x1a2)]+_0x5d53c3(0x1cf)};}requireInteractive();const _0xcc89c7=startSpinner('Fetching\x20online\x20menu\x20list...');let _0x458459;try{_0x458459=await fetchOnlineMenuList(_0x51a75b[_0x5d53c3(0x1b2)],_0x51a75b[_0x5d53c3(0x1bf)]),stopSpinner(_0xcc89c7,_0x5d53c3(0x1a5),!![]);}catch(_0x597fb7){stopSpinner(_0xcc89c7,_0x5d53c3(0x1b5),![]);throw CliErrors[_0x5d53c3(0x1b0)](_0x597fb7 instanceof Error?_0x597fb7['message']:_0x5d53c3(0x1b5));}const _0x2cfbd7=filterMenusWithResources(_0x458459),_0x662939=parseSelection(_0x51a75b,![]),_0x51c572=_0x662939?selectMenusForUpdate(_0x2cfbd7,_0x662939):_0x2cfbd7;if(_0x51c572[_0x5d53c3(0x1f7)]===0x0)return writeCliSideChannelLine(a110_0x34de45['yellow'](_0x5d53c3(0x1e6))),{'ok':!![]};writeCliSideChannelLine(''),writeCliSideChannelLine(a110_0x34de45[_0x5d53c3(0x1af)](_0x5d53c3(0x1a9)+_0x51c572[_0x5d53c3(0x1f7)]+'\x20menu(s)\x20with\x20existing\x20resources')),writeCliSideChannelLine(renderUpdateSummary(_0x51c572[_0x5d53c3(0x1a1)](_0x913a74=>_0x913a74[_0x5d53c3(0x1ef)]),[_0x46979d['jsUrl'],_0x46979d['cssUrl']])),writeCliSideChannelLine('');let _0x2d6dc4=_0x46979d[_0x5d53c3(0x1e0)],_0x5cad53=_0x46979d[_0x5d53c3(0x1ed)];!_0x2d6dc4&&(_0x2d6dc4=await askJsUrl());!_0x5cad53&&(_0x5cad53=await askCssUrl());const _0x1eea3d=await askConfirm(_0x5d53c3(0x1c0)+_0x51c572['length']+'\x20menu(s)\x20with\x20JS:\x20'+_0x2d6dc4+_0x5d53c3(0x1e5)+_0x5cad53+'?');if(!_0x1eea3d)return writeCliSideChannelLine(a110_0x34de45[_0x5d53c3(0x1d7)](_0x5d53c3(0x1ce))),{'ok':!![]};const _0x59d84f=startSpinner('Updating\x20'+_0x51c572[_0x5d53c3(0x1f7)]+_0x5d53c3(0x1ca));try{const _0x48f4f8=await runMenuUpdateCore(_0x51a75b[_0x5d53c3(0x1b2)],_0x51a75b[_0x5d53c3(0x1bf)],JSON[_0x5d53c3(0x1df)]({'jsUrl':_0x2d6dc4,'cssUrl':_0x5cad53}),{'mode':_0x2f663f,'force':_0x2f308f,'selection':{'all':![],'menuIds':_0x51c572[_0x5d53c3(0x1a1)](_0x2b7ea2=>_0x2b7ea2['id']),'paths':[]},'loadScriptMode':_0x4359bf});return stopSpinner(_0x59d84f,_0x5d53c3(0x1ba)+_0x48f4f8['updated']+_0x5d53c3(0x1c4),_0x48f4f8[_0x5d53c3(0x1a2)]===0x0),{'ok':_0x48f4f8['failed']===0x0,'data':_0x48f4f8,'message':_0x48f4f8['failed']>0x0?_0x5d53c3(0x1b8)+_0x48f4f8[_0x5d53c3(0x1cd)]+_0x5d53c3(0x1cc)+_0x48f4f8[_0x5d53c3(0x1a2)]+'\x20failed.':_0x5d53c3(0x1b8)+_0x48f4f8[_0x5d53c3(0x1cd)]+_0x5d53c3(0x1a4)};}catch(_0xae7df6){stopSpinner(_0x59d84f,_0x5d53c3(0x1a0),![]);throw CliErrors[_0x5d53c3(0x1b0)](_0xae7df6 instanceof Error?_0xae7df6[_0x5d53c3(0x1da)]:_0x5d53c3(0x1a0));}}};function ensureRunnableContext(_0x32374b,_0x4e9308){const _0x56bb9f=a110_0x336424,_0x4b70dd=_0x32374b[_0x56bb9f(0x1d0)]?String(_0x32374b[_0x56bb9f(0x1d0)])[_0x56bb9f(0x1bb)]():'';if(!isInProject()&&!_0x4e9308&&!_0x4b70dd)throw CliErrors['validation'](_0x56bb9f(0x1d8)+'Run\x20inside\x20a\x20directory\x20with\x20.rabetbase.json,\x20or\x20pass\x20--appcode\x20<code>.');}function parseMode(_0x2f1f5e){const _0x1d330b=a110_0x336424;if(!_0x2f1f5e)return'patch';if(_0x2f1f5e===_0x1d330b(0x1c5)||_0x2f1f5e===_0x1d330b(0x1de))return _0x2f1f5e;throw CliErrors[_0x1d330b(0x1b0)](_0x1d330b(0x1b7));}function parseSelection(_0x59851f,_0x450460=!![]){const _0x5f2d09=a110_0x336424,_0x3e5f2e=_0x59851f[_0x5f2d09(0x1c8)](_0x5f2d09(0x1ae)),_0x18db66=parseMenuIds(_0x59851f[_0x5f2d09(0x1f6)](_0x5f2d09(0x19e))),_0x4ebadc=parseCsv(_0x59851f[_0x5f2d09(0x1f6)](_0x5f2d09(0x1c6))),_0x2ac427=_0x18db66[_0x5f2d09(0x1f7)]>0x0||_0x4ebadc['length']>0x0;if(_0x3e5f2e&&_0x2ac427)throw CliErrors[_0x5f2d09(0x1b0)](_0x5f2d09(0x1ec));if(!_0x3e5f2e&&!_0x2ac427){if(!_0x450460)return undefined;throw CliErrors[_0x5f2d09(0x1b0)]('menu\x20asset-update\x20requires\x20an\x20explicit\x20target:\x20pass\x20--all,\x20--menu-ids,\x20or\x20--paths.');}return{'all':_0x3e5f2e,'menuIds':_0x18db66,'paths':_0x4ebadc};}function parseMenuIds(_0x1e8eb6){const _0xa351e2=a110_0x336424,_0x52a369=parseCsv(_0x1e8eb6),_0x1238b5=_0x52a369[_0xa351e2(0x1a1)](Number);if(_0x1238b5['some'](_0x58e96e=>!Number[_0xa351e2(0x1f8)](_0x58e96e)||_0x58e96e<=0x0))throw CliErrors[_0xa351e2(0x1b0)](_0xa351e2(0x1ad));return[...new Set(_0x1238b5)];}function parseCsv(_0x1cec19){const _0x22d0ad=a110_0x336424;return[...new Set(_0x1cec19[_0x22d0ad(0x1d5)](',')[_0x22d0ad(0x1a1)](_0x31d7cb=>_0x31d7cb[_0x22d0ad(0x1bb)]())['filter'](Boolean))];}function parseLoadScriptMode(_0x10b478){const _0x6b2345=a110_0x336424;if(!_0x10b478)return undefined;if(_0x10b478===_0x6b2345(0x1dd)||_0x10b478===_0x6b2345(0x1e8)||_0x10b478===_0x6b2345(0x1d2))return _0x10b478;throw CliErrors['validation'](_0x6b2345(0x1c9));}function parseParams(_0x3ea882){const _0x5455f5=a110_0x336424;if(!_0x3ea882)return{};try{const _0x40185c=JSON[_0x5455f5(0x1aa)](_0x3ea882);if(typeof _0x40185c!==_0x5455f5(0x1d4)||_0x40185c===null||Array[_0x5455f5(0x1d1)](_0x40185c))return{};return{'jsUrl':typeof _0x40185c[_0x5455f5(0x1e0)]===_0x5455f5(0x1a3)?_0x40185c[_0x5455f5(0x1e0)][_0x5455f5(0x1bb)]():undefined,'cssUrl':typeof _0x40185c[_0x5455f5(0x1ed)]===_0x5455f5(0x1a3)?_0x40185c[_0x5455f5(0x1ed)][_0x5455f5(0x1bb)]():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_0x2ff704=a111_0x54fb;(function(_0x1cac41,_0x4193c7){const _0x5e235c=a111_0x54fb,_0x2d9ff1=_0x1cac41();while(!![]){try{const _0x5285ee=parseInt(_0x5e235c(0x144))/0x1*(-parseInt(_0x5e235c(0xea))/0x2)+parseInt(_0x5e235c(0x127))/0x3*(parseInt(_0x5e235c(0x116))/0x4)+-parseInt(_0x5e235c(0x145))/0x5+-parseInt(_0x5e235c(0x139))/0x6*(-parseInt(_0x5e235c(0xec))/0x7)+-parseInt(_0x5e235c(0x112))/0x8*(-parseInt(_0x5e235c(0xdf))/0x9)+-parseInt(_0x5e235c(0xe5))/0xa*(parseInt(_0x5e235c(0x11b))/0xb)+-parseInt(_0x5e235c(0xe7))/0xc;if(_0x5285ee===_0x4193c7)break;else _0x2d9ff1['push'](_0x2d9ff1['shift']());}catch(_0x323d50){_0x2d9ff1['push'](_0x2d9ff1['shift']());}}}(a111_0x1c7c,0xc2081));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{assertMenuDeletePlanCurrent,assertMenuDeletePlanExecutable,createMenuDeletePlanFile,mutationPlanFromDeleteFile,readMenuDeletePlan,writeMenuDeletePlan}from'../../commands/menu/shared/delete-plan.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,asVerificationError,assertExpectedState,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{batchDeleteMenuEntities}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';function a111_0x54fb(_0x43c5e2,_0x58f7dd){_0x43c5e2=_0x43c5e2-0xd1;const _0x1c7c23=a111_0x1c7c();let _0x54fb68=_0x1c7c23[_0x43c5e2];return _0x54fb68;}const BACKEND=[{'method':a111_0x2ff704(0xe3),'path':'/smartapi/menu/batchDelete'}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':a111_0x2ff704(0xe4)},MENU_DELETE_RECURSIVE_FLAG={'name':a111_0x2ff704(0x130),'type':a111_0x2ff704(0x135),'description':'Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first'},MENU_DELETE_PLAN_OUT_FLAG={'name':'plan-out','type':a111_0x2ff704(0xdb),'description':'Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file'},MENU_DELETE_PLAN_FLAG={'name':a111_0x2ff704(0xfe),'type':a111_0x2ff704(0xdb),'description':a111_0x2ff704(0xf4)};export const menuDelete={'service':'menu','command':a111_0x2ff704(0x11f),'description':a111_0x2ff704(0xdd),'risk':a111_0x2ff704(0xda),'structuredErrors':!![],'flags':[MENU_DELETE_ID_FLAG,MENU_DELETE_RECURSIVE_FLAG,MENU_DELETE_PLAN_OUT_FLAG,MENU_DELETE_PLAN_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x5bc566){const _0x58618a=a111_0x2ff704;_0x5bc566[_0x58618a(0xe0)]('dry-run')?validateDeleteDryRunInput(_0x5bc566):validateDeleteExecuteInput(_0x5bc566),requireExplicitYes(_0x5bc566);},async 'dryRun'(_0x1338b8){const _0x570bba=a111_0x2ff704;validateDeleteDryRunInput(_0x1338b8);const _0x2ca492=await buildDeletePlan(_0x1338b8),_0x503b81=createMenuDeletePlanFile(_0x1338b8[_0x570bba(0x128)],_0x2ca492),_0x4afca0=await writeMenuDeletePlan(_0x1338b8[_0x570bba(0x110)](_0x570bba(0xe2)),_0x503b81),_0x1087d6=mutationResult({..._0x2ca492,'planFile':{'path':_0x4afca0,'createdAt':_0x503b81[_0x570bba(0x12a)],'expiresAt':_0x503b81[_0x570bba(0x14f)]}});return menuDryRunResult(_0x1087d6,{'method':_0x570bba(0xe3),'url':'/smartapi/menu/batchDelete','body':{'idList':_0x1087d6[_0x570bba(0x138)]},'description':_0x570bba(0xeb)+(_0x1087d6[_0x570bba(0x138)]?.[_0x570bba(0x125)]??0x1)+'\x20menu(s)\x20under\x20exact\x20id\x20'+_0x1087d6[_0x570bba(0x101)]['id']+_0x570bba(0xd3)+_0x4afca0+'.'});},async 'execute'(_0x31cf65){const _0x12af47=a111_0x2ff704;requireExplicitYes(_0x31cf65),validateDeleteExecuteInput(_0x31cf65);const _0x33b9af=await readMenuDeletePlan(_0x31cf65[_0x12af47(0x110)](_0x12af47(0xfe))),_0x50fafd=mutationPlanFromDeleteFile(_0x33b9af[_0x12af47(0xfe)],_0x33b9af[_0x12af47(0xed)]),_0x17747a=_0x33b9af[_0x12af47(0xfe)]['target']['id'];try{assertMenuDeletePlanExecutable(_0x33b9af[_0x12af47(0xfe)],_0x31cf65[_0x12af47(0x128)]);}catch(_0x57ef18){throw menuFailure(asMenuError(_0x57ef18),_0x50fafd,{'stage':_0x12af47(0x13b),'failed':{'id':_0x17747a}});}let _0x564cd6,_0x1374c6;try{_0x564cd6=await fetchMutationSnapshot(_0x31cf65,'execute\x20reviewed\x20delete\x20plan',_0x17747a),_0x1374c6=assertMenuDeletePlanCurrent(_0x33b9af['plan'],_0x31cf65[_0x12af47(0x128)],_0x564cd6),assertDeleteTargetsComplete(_0x33b9af[_0x12af47(0xfe)],_0x564cd6),_0x1374c6[_0x12af47(0x149)](_0xdad8d4=>assertDeleteSafety(_0xdad8d4,_0x33b9af['plan']['recursive'])),assertNoSharedPages(_0x564cd6,_0x1374c6),assertCascadeMatchesPlan(_0x50fafd,_0x1374c6);}catch(_0x62391d){throw menuFailure(asMenuError(_0x62391d),_0x50fafd,{'stage':'pre-write-plan-validation','failed':{'id':_0x17747a}});}const _0x5d9265=_0x33b9af[_0x12af47(0xfe)][_0x12af47(0x138)];let _0x471165;try{_0x471165=await batchDeleteMenuEntities(_0x31cf65['cookie'],_0x5d9265);}catch(_0xb46623){const _0x8c8be3=mapMenuApiError(_0xb46623,_0x12af47(0xd5)),_0x5bf77f=[_0x12af47(0x11e)];let _0x2f9bf1;try{_0x2f9bf1=await readDeleteOutcome(_0x31cf65,_0x5d9265);}catch(_0x2ae39d){const _0x2ccdd3=describeMenuErrorCause(_0x2ae39d,_0x12af47(0x111),_0x17747a);_0x5bf77f[_0x12af47(0xf7)]('Post-failure\x20menu\x20readback\x20failed\x20('+_0x2ccdd3[_0x12af47(0x11a)]+_0x12af47(0x104)+_0x2ccdd3[_0x12af47(0x10c)]);throw menuFailure(_0x8c8be3,_0x50fafd,{'stage':_0x12af47(0x14a),'failed':{'targetIds':_0x5d9265,'targetIdsAbsent':_0x12af47(0x134),..._0x2ccdd3},'warnings':_0x5bf77f,'verification':{'status':_0x12af47(0x10d),'lookupCommand':_0x12af47(0x12c),'targetIds':_0x5d9265}});}throw menuFailure(_0x8c8be3,_0x50fafd,{'stage':_0x12af47(0x14a),'succeeded':_0x2f9bf1[_0x12af47(0x100)][_0x12af47(0x123)](_0x42371a=>({'id':_0x42371a,'deleted':!![]})),'failed':{'targetIds':_0x5d9265,'absentIds':_0x2f9bf1[_0x12af47(0x100)],'remainingIds':_0x2f9bf1[_0x12af47(0x122)]},'warnings':_0x5bf77f,'verification':verificationFromOutcome(_0x2f9bf1)});}if(_0x471165!==_0x5d9265[_0x12af47(0x125)]){const _0x2094b7=menuError('menu_batch_delete_count_mismatch','Backend\x20reported\x20'+_0x471165+_0x12af47(0xd4)+_0x5d9265[_0x12af47(0x125)]+'.',_0x12af47(0x132)),_0x135283=[_0x12af47(0xd6)];let _0x12920f;try{_0x12920f=await readDeleteOutcome(_0x31cf65,_0x5d9265);}catch(_0xb05570){const _0x3eeeca=describeMenuErrorCause(_0xb05570,'read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch',_0x17747a);_0x135283[_0x12af47(0xf7)]('Post-mismatch\x20menu\x20readback\x20failed\x20('+_0x3eeeca['causeCode']+_0x12af47(0x104)+_0x3eeeca[_0x12af47(0x10c)]);throw menuFailure(_0x2094b7,_0x50fafd,{'stage':'batch-delete','failed':{'targetIds':_0x5d9265,'expectedCount':_0x5d9265[_0x12af47(0x125)],'reportedDeletedCount':_0x471165,'targetIdsAbsent':_0x12af47(0x134),..._0x3eeeca},'warnings':_0x135283,'verification':{'status':_0x12af47(0x10d),'lookupCommand':_0x12af47(0x12c),'targetIds':_0x5d9265}});}throw menuFailure(_0x2094b7,_0x50fafd,{'stage':_0x12af47(0x14a),'succeeded':_0x12920f[_0x12af47(0x100)][_0x12af47(0x123)](_0x1d8226=>({'id':_0x1d8226,'deleted':!![]})),'failed':{'targetIds':_0x5d9265,'expectedCount':_0x5d9265[_0x12af47(0x125)],'reportedDeletedCount':_0x471165,'absentIds':_0x12920f[_0x12af47(0x100)],'remainingIds':_0x12920f[_0x12af47(0x122)]},'warnings':_0x135283,'verification':verificationFromOutcome(_0x12920f)});}let _0x54062f;try{_0x54062f=await readDeleteOutcome(_0x31cf65,_0x5d9265);}catch(_0x4967e2){const _0x861db6=describeMenuErrorCause(_0x4967e2,'verify\x20batch\x20delete',_0x17747a),_0x5138b4=asVerificationError(_0x4967e2,_0x12af47(0x13a)+_0x17747a+_0x12af47(0xd2));throw menuFailure(_0x5138b4,_0x50fafd,{'stage':_0x12af47(0x14e),'succeeded':_0x5d9265[_0x12af47(0x123)](_0x1c7306=>({'id':_0x1c7306,'deleteRequested':!![]})),'failed':{'id':_0x17747a,'targetIds':_0x5d9265,'targetIdsAbsent':'unconfirmed',..._0x861db6},'warnings':[_0x12af47(0xfd)],'verification':{'status':_0x12af47(0x10d),'lookupCommand':_0x12af47(0x12c),'targetIds':_0x5d9265}});}if(_0x54062f['remainingIds'][_0x12af47(0x125)]>0x0){const _0x1efe92=menuError('menu_verification_failed',_0x12af47(0xfa)+_0x54062f[_0x12af47(0x122)]['join'](',\x20')+'.',_0x12af47(0x132));throw menuFailure(_0x1efe92,_0x50fafd,{'stage':'verification','succeeded':_0x5d9265[_0x12af47(0x123)](_0x2bf844=>({'id':_0x2bf844,'deleteRequested':!![]})),'failed':{'id':_0x17747a,'targetIds':_0x5d9265,'absentIds':_0x54062f['absentIds'],'remainingIds':_0x54062f[_0x12af47(0x122)]},'warnings':[_0x12af47(0xf5)],'verification':verificationFromOutcome(_0x54062f)});}const _0x5a4b98=_0x5d9265[_0x12af47(0x123)](_0x2b69d5=>({'id':_0x2b69d5,'deleted':!![]})),_0x32b3de=mutationResult({..._0x50fafd,'dryRun':![],'succeeded':_0x5a4b98,'verification':{'checkedBy':_0x12af47(0x143),'plannedSnapshotHash':_0x50fafd['snapshotHash'],'finalSnapshotHash':_0x54062f[_0x12af47(0x137)][_0x12af47(0x103)],'reportedDeletedCount':_0x471165,'targetAbsent':!_0x54062f[_0x12af47(0x137)][_0x12af47(0x114)][_0x12af47(0xe1)](_0x17747a),'allTargetsAbsent':!![],'targetIds':_0x5d9265}});return{'ok':!![],'data':_0x32b3de,'message':_0x12af47(0x126)+_0x5a4b98[_0x12af47(0x125)]+'\x20menu(s)\x20under\x20exact\x20id\x20'+_0x17747a+'.'};}};async function readDeleteOutcome(_0xb9d9d8,_0x30988a){const _0x43880b=a111_0x2ff704,_0x25f99b=await fetchMenuSnapshot(_0xb9d9d8[_0x43880b(0x128)],_0xb9d9d8[_0x43880b(0xfb)]);return{'snapshot':_0x25f99b,'absentIds':_0x30988a[_0x43880b(0x106)](_0x4f9172=>!_0x25f99b[_0x43880b(0x114)][_0x43880b(0xe1)](_0x4f9172)),'remainingIds':_0x30988a[_0x43880b(0x106)](_0x5d25b6=>_0x25f99b['byId'][_0x43880b(0xe1)](_0x5d25b6))};}function verificationFromOutcome(_0x2efdca){const _0x36eba0=a111_0x2ff704;return{'checkedBy':_0x36eba0(0x143),'absentIds':_0x2efdca[_0x36eba0(0x100)],'remainingIds':_0x2efdca[_0x36eba0(0x122)]};}function validateDeleteDryRunInput(_0xc17e83){const _0x27ef3f=a111_0x2ff704;validateExactId(_0xc17e83);if(!hasFlag(_0xc17e83,_0x27ef3f(0xe2))||!_0xc17e83[_0x27ef3f(0x110)](_0x27ef3f(0xe2))['trim']())throw CliErrors[_0x27ef3f(0x105)]('plan-out','--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.');if(hasFlag(_0xc17e83,_0x27ef3f(0xfe)))throw CliErrors['validation'](_0x27ef3f(0x107));}function validateDeleteExecuteInput(_0x17ed2d){const _0x37f000=a111_0x2ff704;if(!hasFlag(_0x17ed2d,_0x37f000(0xfe))||!_0x17ed2d['str'](_0x37f000(0xfe))[_0x37f000(0x14c)]())throw CliErrors[_0x37f000(0x105)](_0x37f000(0xfe),'--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.');const _0x6faf86=['id',_0x37f000(0x130),'plan-out',_0x37f000(0xdc),_0x37f000(0xd9),_0x37f000(0x136)][_0x37f000(0x106)](_0x1259d4=>hasFlag(_0x17ed2d,_0x1259d4));if(_0x6faf86[_0x37f000(0x125)]>0x0)throw CliErrors[_0x37f000(0x108)](_0x37f000(0x147)+_0x6faf86['map'](_0x1692ff=>'--'+_0x1692ff)['join'](',\x20')+'.');}async function buildDeletePlan(_0x2443da){const _0x5594d2=a111_0x2ff704,_0x24d722=validateExactId(_0x2443da),_0xf619f9=await fetchMutationSnapshot(_0x2443da,_0x5594d2(0x113),_0x24d722),_0x5b9ce7=requireMenu(_0xf619f9,_0x24d722);assertExpectedState(_0x2443da,_0x5b9ce7);const _0x3a8a99=_0x2443da[_0x5594d2(0xe0)](_0x5594d2(0x130));let _0x7610b6;if(_0x3a8a99){if(_0x5b9ce7['type'][_0x5594d2(0x14c)]()[_0x5594d2(0xfc)]()!==_0x5594d2(0xff))throw menuError(_0x5594d2(0xde),'Menu\x20'+_0x5b9ce7['id']+_0x5594d2(0x11c)+(_0x5b9ce7[_0x5594d2(0x12f)]||_0x5594d2(0xe6))+'\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.');_0x7610b6=collectDeleteTargets(_0xf619f9,_0x5b9ce7),_0x7610b6['forEach'](_0x2ffd5b=>assertDeleteSafety(_0x2ffd5b,!![]));}else assertDeleteSafety(_0x5b9ce7),_0x7610b6=[_0x5b9ce7];assertNoSharedPages(_0xf619f9,_0x7610b6);const _0x50975f=_0x7610b6['map'](_0x41341f=>_0x41341f['id']),_0x49ae53=cascadeForTargets(_0x7610b6),_0x346e1e=_0x49ae53[_0x5594d2(0x119)][_0x5594d2(0x125)]>0x0?[_0x5594d2(0xf6)]:[];return mutationResult({'operation':'delete','selector':{'id':_0x24d722,'recursive':_0x3a8a99},'before':_0x5b9ce7,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':_0x5594d2(0xe8),'method':'POST','path':'/smartapi/menu/batchDelete','body':{'idList':_0x50975f}}],'targets':_0x7610b6,'deleteOrder':_0x50975f,'snapshotHash':_0xf619f9[_0x5594d2(0x103)],'cascade':_0x49ae53,'warnings':_0x346e1e});}function assertDeleteSafety(_0x3694fb,_0x193cd0=![]){const _0x1368ca=a111_0x2ff704,_0x4d7c0f=_0x3694fb[_0x1368ca(0x12f)]['trim']()[_0x1368ca(0xfc)]()===_0x1368ca(0xff);if(_0x3694fb['childrenCount']>0x0&&(!_0x193cd0||!_0x4d7c0f))throw menuError(_0x1368ca(0xe9),_0x1368ca(0x129)+_0x3694fb['id']+_0x1368ca(0xf3)+_0x3694fb[_0x1368ca(0x121)]+_0x1368ca(0x120),_0x1368ca(0x13c)+_0x3694fb['childrenIds'][_0x1368ca(0xd7)](',\x20'));if(_0x4d7c0f&&_0x3694fb['pageId']!=null)throw menuError(_0x1368ca(0x124),'Folder\x20'+_0x3694fb['id']+_0x1368ca(0x13e)+_0x3694fb[_0x1368ca(0x12b)]+_0x1368ca(0x11d),_0x1368ca(0xd8));if(!_0x4d7c0f)return;if(!_0x3694fb[_0x1368ca(0x13d)])throw menuError(_0x1368ca(0x109),_0x1368ca(0x10e)+_0x3694fb['id']+_0x1368ca(0x133),_0x1368ca(0x10a));if(_0x3694fb[_0x1368ca(0x140)][_0x1368ca(0x125)]>0x0)throw menuError(_0x1368ca(0x14d),_0x1368ca(0x10e)+_0x3694fb['id']+_0x1368ca(0x10f)+_0x3694fb[_0x1368ca(0x140)][_0x1368ca(0x125)]+_0x1368ca(0xf8),_0x1368ca(0xf0));}function collectDeleteTargets(_0x43f110,_0x52750a){const _0x128b25=[],_0x27e845=new Set(),_0x64d78e=new Set(),_0x25a7d0=_0xaa4f82=>{const _0x144ee8=a111_0x54fb;if(_0x27e845[_0x144ee8(0xe1)](_0xaa4f82['id']))throw menuError(_0x144ee8(0x12e),_0x144ee8(0x146)+_0xaa4f82['id']+'.');if(_0x64d78e[_0x144ee8(0xe1)](_0xaa4f82['id']))return;_0x27e845['add'](_0xaa4f82['id']);for(const _0x2416e1 of _0xaa4f82[_0x144ee8(0x118)]){const _0x478b82=_0x43f110[_0x144ee8(0x114)][_0x144ee8(0x14b)](_0x2416e1);if(!_0x478b82)throw menuError(_0x144ee8(0x12e),_0x144ee8(0x129)+_0xaa4f82['id']+'\x20references\x20missing\x20child\x20'+_0x2416e1+'.');_0x25a7d0(_0x478b82);}_0x27e845['delete'](_0xaa4f82['id']),_0x64d78e[_0x144ee8(0x10b)](_0xaa4f82['id']),_0x128b25[_0x144ee8(0xf7)](_0xaa4f82);};return _0x25a7d0(_0x52750a),_0x128b25;}function assertDeleteTargetsComplete(_0x4a5af6,_0x3c5549){const _0x4b26cb=a111_0x2ff704,_0x532b56=requireMenu(_0x3c5549,_0x4a5af6[_0x4b26cb(0xf1)]['id']);if(_0x4a5af6['recursive']&&_0x532b56[_0x4b26cb(0x12f)][_0x4b26cb(0x14c)]()[_0x4b26cb(0xfc)]()!==_0x4b26cb(0xff))throw menuError('menu_plan_invalid','Recursive\x20menu\x20delete\x20plan\x20root\x20'+_0x532b56['id']+_0x4b26cb(0x12d));const _0x5dd84b=_0x4a5af6[_0x4b26cb(0x130)]?collectDeleteTargets(_0x3c5549,_0x532b56)['map'](_0x3d193b=>_0x3d193b['id']):[_0x532b56['id']];if(JSON[_0x4b26cb(0x115)](_0x4a5af6[_0x4b26cb(0x138)])!==JSON[_0x4b26cb(0x115)](_0x5dd84b))throw menuError(_0x4b26cb(0x142),_0x4b26cb(0xd1),_0x4b26cb(0x148));}function assertNoSharedPages(_0x13f2de,_0xede579){const _0x16c694=a111_0x2ff704,_0x3381ae=new Set(_0xede579[_0x16c694(0x123)](_0x38171b=>_0x38171b['id'])),_0x59c2e7=new Set(_0xede579[_0x16c694(0x123)](_0x66837a=>_0x66837a[_0x16c694(0x12b)])[_0x16c694(0x106)](_0x1b5eb0=>_0x1b5eb0!=null));if(_0x59c2e7[_0x16c694(0x102)]===0x0)return;const _0x46c50b=_0x13f2de[_0x16c694(0x117)][_0x16c694(0x106)](_0x63f81c=>!_0x3381ae[_0x16c694(0xe1)](_0x63f81c['id'])&&_0x63f81c[_0x16c694(0x12b)]!=null&&_0x59c2e7['has'](_0x63f81c['pageId']));if(_0x46c50b[_0x16c694(0x125)]===0x0)return;const _0x3b5df5=_0x46c50b[_0x16c694(0x123)](_0x1deb50=>_0x16c694(0xef)+_0x1deb50['pageId']+_0x16c694(0xf9)+_0x1deb50['id'])[_0x16c694(0xd7)](',\x20');throw menuError(_0x16c694(0x141),_0x16c694(0x131)+_0x3b5df5+'.',_0x16c694(0x13f));}function a111_0x1c7c(){const _0x245d34=['Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.','unconfirmed','boolean','expected-children-count','snapshot','deleteOrder','78rtEPxY','Batch\x20delete\x20request\x20for\x20menu\x20','plan-validation','Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20','resourcesValid','\x20is\x20unexpectedly\x20bound\x20to\x20page\x20','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.','resources','menu_page_shared','menu_plan_invalid','menu\x20list','11osciJE','590450PIdMWS','Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20','Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.','forEach','batch-delete','get','trim','menu_folder_has_resources','verification','expiresAt','Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence',';\x20execution\x20must\x20consume\x20','\x20deleted\x20menus;\x20expected\x20','batch\x20delete','The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.','join','Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.','expect-path','high-risk-write','string','expect-parent-id','Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','menu_recursive_requires_folder','9SDkoCo','bool','has','plan-out','POST','Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)','15310IXsqNK','unknown','26603556MbnLtk','batch-delete-menu','menu_non_empty','88580WupcFE','Would\x20batch\x20delete\x20','788039SiUfLr','path','indexOf','page\x20','Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.','target','Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.','\x20has\x20','Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out','The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.','Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.','push','\x20resource\x20URL(s).','\x20->\x20menu\x20','One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20','cookie','toLowerCase','The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','plan','folder','absentIds','selector','size','hash','):\x20','flagMissing','filter','--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.','validation','menu_folder_resources_invalid','Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.','add','causeMessage','failed','Folder\x20','\x20still\x20references\x20','str','read\x20menu\x20state\x20after\x20batch\x20delete\x20failure','12552872fcLGnR','plan\x20delete','byId','stringify','3692OXFDpB','menus','childrenIds','pages','causeCode','3421yLJWsA','\x20is\x20type\x20\x22','\x20and\x20cannot\x20be\x20deleted\x20safely.','The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.','delete','\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.','childrenCount','remainingIds','map','menu_delete_page_bound','length','Deleted\x20','3447qnXdCC','appCode','Menu\x20','createdAt','pageId','rabetbase\x20menu\x20list\x20--format\x20json','\x20is\x20not\x20a\x20folder.','menu_tree_invalid','type','recursive','Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20'];a111_0x1c7c=function(){return _0x245d34;};return a111_0x1c7c();}function assertCascadeMatchesPlan(_0x57aa38,_0x4c2728){const _0x22e501=a111_0x2ff704,_0x242c4b=cascadeForTargets(_0x4c2728);if(JSON[_0x22e501(0x115)](_0x57aa38['cascade'])!==JSON[_0x22e501(0x115)](_0x242c4b))throw menuError(_0x22e501(0x142),_0x22e501(0xf2));}function cascadeForTargets(_0x42d2d1){const _0x110b4c=a111_0x2ff704,_0x20e882=_0x42d2d1[_0x110b4c(0x123)](_0x37ac3f=>_0x37ac3f[_0x110b4c(0x12b)])['filter'](_0x4eecea=>_0x4eecea!=null)[_0x110b4c(0x106)]((_0x4d6bd3,_0x4c1df7,_0x171fb6)=>_0x171fb6[_0x110b4c(0xee)](_0x4d6bd3)===_0x4c1df7);return{'pages':_0x20e882,'pageSchemaAffected':_0x20e882[_0x110b4c(0x125)]>0x0};}function asMenuError(_0x1afc31){const _0x168380=a111_0x2ff704;return _0x1afc31 instanceof CliError?_0x1afc31:menuError(_0x168380(0x142),_0x1afc31 instanceof Error?_0x1afc31['message']:String(_0x1afc31));}
|
|
1
|
+
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_0x3cfc30=a112_0x5b33;(function(_0x4c258a,_0x50ece1){const _0x148c01=a112_0x5b33,_0x48b0b4=_0x4c258a();while(!![]){try{const _0x30a7a8=-parseInt(_0x148c01(0x96))/0x1*(-parseInt(_0x148c01(0xb7))/0x2)+parseInt(_0x148c01(0x94))/0x3*(-parseInt(_0x148c01(0x87))/0x4)+parseInt(_0x148c01(0x93))/0x5+-parseInt(_0x148c01(0xbf))/0x6*(parseInt(_0x148c01(0xa4))/0x7)+-parseInt(_0x148c01(0xb8))/0x8*(parseInt(_0x148c01(0x7d))/0x9)+parseInt(_0x148c01(0x8c))/0xa+-parseInt(_0x148c01(0xb4))/0xb*(-parseInt(_0x148c01(0x88))/0xc);if(_0x30a7a8===_0x50ece1)break;else _0x48b0b4['push'](_0x48b0b4['shift']());}catch(_0x13f727){_0x48b0b4['push'](_0x48b0b4['shift']());}}}(a112_0x449b,0x73ed8));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,fetchMutationSnapshot,menuDryRunResult,menuError,menuFailure,mapMenuApiError,isMenuResponseLoss,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const EXTERNAL_MENU_TYPES_BY_OPEN_MODE={'embedded':a112_0x3cfc30(0xe5),'new-window':a112_0x3cfc30(0x83)};export function validateExternalMenuUrl(_0x43d2f3){const _0x2885a4=a112_0x3cfc30,_0x3e5338=_0x43d2f3[_0x2885a4(0xd6)]();let _0x20d9af;try{_0x20d9af=new URL(_0x3e5338);}catch{throw menuError(_0x2885a4(0xa8),_0x2885a4(0x75),_0x2885a4(0x7b));}if(_0x20d9af['protocol']!==_0x2885a4(0xcd))throw menuError(_0x2885a4(0xec),'External\x20menu\x20URL\x20must\x20use\x20HTTPS.',_0x2885a4(0xfa));if(_0x20d9af[_0x2885a4(0xfb)]||_0x20d9af[_0x2885a4(0xd0)])throw menuError(_0x2885a4(0xb6),_0x2885a4(0xab),_0x2885a4(0x89));return _0x3e5338;}export const menuExternalLinkCreate={'service':a112_0x3cfc30(0x84),'command':a112_0x3cfc30(0xb0),'description':a112_0x3cfc30(0xa7),'risk':a112_0x3cfc30(0x85),'structuredErrors':!![],'flags':[{'name':a112_0x3cfc30(0xeb),'type':a112_0x3cfc30(0xef),'required':!![],'description':a112_0x3cfc30(0xf5)},{'name':a112_0x3cfc30(0x91),'type':a112_0x3cfc30(0xef),'required':!![],'enum':[a112_0x3cfc30(0xe3),a112_0x3cfc30(0x78)],'description':a112_0x3cfc30(0xe8)},{'name':a112_0x3cfc30(0xce),'type':a112_0x3cfc30(0xef),'required':!![],'description':a112_0x3cfc30(0xed)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a112_0x3cfc30(0x74),'type':a112_0x3cfc30(0x99),'default':!![],'description':a112_0x3cfc30(0xe6)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x57bd43){validateAddInput(_0x57bd43);},async 'dryRun'(_0x45ded0){const _0x2d9919=a112_0x3cfc30;validateAddInput(_0x45ded0);const {plan:_0x387f18}=await buildSafeAddPlan(_0x45ded0,!![]),_0x3e2d3d=_0x387f18[_0x2d9919(0x9e)],_0x5287f9=createBody(_0x3e2d3d);return menuDryRunResult(_0x387f18,{'method':_0x2d9919(0xc2),'url':_0x2d9919(0xc4),'body':_0x5287f9,'description':_0x2d9919(0xf8)+JSON['stringify'](_0x3e2d3d['label'])+'\x20with\x20'+_0x45ded0[_0x2d9919(0xcc)](_0x2d9919(0x91))+_0x2d9919(0xdd)});},async 'execute'(_0x55bc35){const _0xfcc812=a112_0x3cfc30;validateAddInput(_0x55bc35);const _0x3655c7=await buildSafeAddPlan(_0x55bc35,![]),{plan:_0x44b16d,snapshot:_0x3b5c4b}=_0x3655c7,_0x2e8c24=_0x44b16d[_0xfcc812(0x9e)],_0x320e92=buildMenuLookupCommand(_0x55bc35[_0xfcc812(0xc9)]);await recheckAddSnapshot(_0x55bc35,_0x44b16d);let _0x3b20e0;try{_0x3b20e0=await createMenuEntity(_0x55bc35[_0xfcc812(0xc9)],_0x55bc35[_0xfcc812(0x90)],createBody(_0x2e8c24));}catch(_0x1b93c2){const _0x590fb8=mapMenuApiError(_0x1b93c2,_0xfcc812(0x6a));if(!isMenuResponseLoss(_0x1b93c2)||_0x590fb8['code']===_0xfcc812(0xad))throw externalLinkCreateFailure(_0x590fb8,_0x44b16d,{'stage':_0xfcc812(0xb2),'failed':{},'verification':{'status':_0xfcc812(0x7f),'lookupCommand':_0x320e92}});return recoverAfterResponseLoss(_0x55bc35,_0x3655c7,_0x320e92);}const _0x195784=Number(_0x3b20e0?.['id']),_0x1210f4=typeof _0x3b20e0?.[_0xfcc812(0x8a)]===_0xfcc812(0xef)?_0x3b20e0[_0xfcc812(0x8a)]:'';if(!Number[_0xfcc812(0xdc)](_0x195784)||_0x195784<=0x0||!_0x1210f4[_0xfcc812(0xd6)]()){const _0x5e5e3d=menuError(_0xfcc812(0xf9),_0xfcc812(0xde),_0xfcc812(0xaf)+_0x320e92+'\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.');throw externalLinkCreateFailure(_0x5e5e3d,_0x44b16d,{'stage':_0xfcc812(0x6b),'succeeded':Number[_0xfcc812(0xdc)](_0x195784)&&_0x195784>0x0?[{'id':_0x195784,'created':!![]}]:[],'failed':{'createdId':Number['isSafeInteger'](_0x195784)?_0x195784:null,'generatedPathConfirmed':Boolean(_0x1210f4[_0xfcc812(0xd6)]())},'warnings':[_0xfcc812(0xe2)],'after':Number[_0xfcc812(0xdc)](_0x195784)&&_0x195784>0x0?{..._0x2e8c24,'id':_0x195784,'path':_0x1210f4}:_0x2e8c24,'verification':{'status':_0xfcc812(0x7f),'lookupCommand':_0x320e92,...Number['isSafeInteger'](_0x195784)&&_0x195784>0x0?{'targetId':_0x195784}:{}}});}const _0x460658=await readAndVerifyCreatedMenu({'appCode':_0x55bc35[_0xfcc812(0xc9)],'cookie':_0x55bc35[_0xfcc812(0x90)],'plan':_0x44b16d,'afterPlan':_0x2e8c24,'createdId':_0x195784,'expectedPath':_0x1210f4,'lookupCommand':_0x320e92,'recovered':![]});return creationSuccess(_0x44b16d,_0x460658['snapshot'],_0x460658[_0xfcc812(0xa1)],![]);}};function validateAddInput(_0x7e6261){const _0x2b6f0e=a112_0x3cfc30;if(!_0x7e6261[_0x2b6f0e(0xcc)](_0x2b6f0e(0xeb))['trim']())throw CliErrors[_0x2b6f0e(0xdf)]('label');resolveExternalMenuType(_0x7e6261),validateExternalMenuUrl(_0x7e6261['str'](_0x2b6f0e(0xce))),parseParentId(_0x7e6261,'parent-id'),validateSort(_0x7e6261);}function resolveExternalMenuType(_0x5aa6c8){const _0x44bb0c=a112_0x3cfc30,_0x578e9b=_0x5aa6c8[_0x44bb0c(0xcc)](_0x44bb0c(0x91))[_0x44bb0c(0xd6)]();if(!_0x578e9b)throw CliErrors[_0x44bb0c(0xdf)](_0x44bb0c(0x91));const _0x30cdbd=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x578e9b];if(!_0x30cdbd)throw menuError('menu_open_mode_invalid',_0x44bb0c(0x6e),_0x44bb0c(0xd2));return _0x30cdbd;}async function buildAddPlan(_0x2135ca,_0x2dcadf){const _0x522a03=a112_0x3cfc30,_0x217d26=await fetchMutationSnapshot(_0x2135ca,_0x522a03(0x6a)),_0x1c019d=parseParentId(_0x2135ca,_0x522a03(0x6f))??null;if(_0x1c019d!=null)requireFolder(_0x217d26,_0x1c019d);const _0x9283d0=validateSort(_0x2135ca),_0x4a897a=_0x9283d0??nextSiblingSort(_0x217d26,_0x1c019d,'menu'),_0x33da11=_0x2135ca[_0x522a03(0xcc)](_0x522a03(0xeb))[_0x522a03(0xd6)](),_0x1514a3=resolveExternalMenuType(_0x2135ca),_0x3f9a8f=validateExternalMenuUrl(_0x2135ca[_0x522a03(0xcc)]('url')),_0x2f8445=Object[_0x522a03(0xe7)]['hasOwnProperty'][_0x522a03(0xa5)](_0x2135ca[_0x522a03(0x95)],_0x522a03(0x74))?_0x2135ca[_0x522a03(0xa9)](_0x522a03(0x74)):!![],_0x1be884={'id':null,'parentId':_0x1c019d,'label':_0x33da11,'path':_0x522a03(0xdb),'url':_0x3f9a8f,'type':_0x1514a3,'visible':_0x2f8445,'sort':_0x4a897a},_0x56e050=buildMenuLookupCommand(_0x2135ca[_0x522a03(0xc9)]),_0x397c69=mutationResult({'operation':_0x522a03(0xc3),'selector':{'parentId':_0x1c019d,'type':_0x1514a3,'label':_0x33da11,'url':_0x3f9a8f},'before':null,'after':_0x1be884,'dryRun':_0x2dcadf,'backend':[{'method':_0x522a03(0xc2),'path':_0x522a03(0xc4)}],'plannedActions':[{'stage':_0x522a03(0x7a),'method':'POST','path':'/smartapi/menu/create','body':createBody(_0x1be884)}],'snapshotHash':_0x217d26['hash'],'warnings':['The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.'],'verification':{'lookupCommand':_0x56e050}});return{'plan':_0x397c69,'snapshot':_0x217d26};}async function buildSafeAddPlan(_0x420393,_0x289f45){try{return await buildAddPlan(_0x420393,_0x289f45);}catch(_0x2a66eb){throw safeMenuAddError(_0x2a66eb);}}function a112_0x5b33(_0x438b70,_0x372207){_0x438b70=_0x438b70-0x69;const _0x449b1d=a112_0x449b();let _0x5b33e5=_0x449b1d[_0x438b70];return _0x5b33e5;}async function recheckAddSnapshot(_0x10e3ea,_0x5a0cfa){const _0x206edf=a112_0x3cfc30;try{await recheckMutationSnapshot(_0x10e3ea,_0x5a0cfa,_0x206edf(0x6a));}catch(_0x28876b){const _0x370de7=getFailureRecord(_0x28876b);throw externalLinkCreateFailure(_0x28876b,_0x5a0cfa,{'stage':_0x206edf(0x9b),'failed':{..._0x370de7?.['expectedSnapshotHash']?{'expectedSnapshotHash':_0x370de7['expectedSnapshotHash']}:{},..._0x370de7?.[_0x206edf(0xe0)]?{'currentSnapshotHash':_0x370de7[_0x206edf(0xe0)]}:{}}});}}function createBody(_0x5531e4){const _0x43f470=a112_0x3cfc30;return{'parentId':toApiParentId(_0x5531e4['parentId']),'label':String(_0x5531e4[_0x43f470(0xeb)]),'type':String(_0x5531e4['type']),'url':String(_0x5531e4[_0x43f470(0xce)]),'visible':Boolean(_0x5531e4[_0x43f470(0x74)]),'sort':Number(_0x5531e4['sort']),'extend':{}};}function buildMenuLookupCommand(_0x1f3a34){const _0x5afebf=a112_0x3cfc30,_0x52c25a='\x27'+_0x1f3a34[_0x5afebf(0xac)](/'/g,'\x27\x5c\x27\x27')+'\x27';return _0x5afebf(0xaa)+_0x52c25a+_0x5afebf(0xf1);}async function recoverAfterResponseLoss(_0x467012,_0x2d77ce,_0x7171b1){const _0x40a067=a112_0x3cfc30,{plan:_0x51a305,snapshot:_0x8024ea}=_0x2d77ce,_0x1b0feb=_0x51a305[_0x40a067(0x9e)];let _0x511abf;try{_0x511abf=await fetchMenuSnapshot(_0x467012['appCode'],_0x467012[_0x40a067(0x90)]);}catch(_0x57722c){throw recoveryRequiredFailure(_0x51a305,_0x7171b1,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x20f6e6=_0x511abf['menus'][_0x40a067(0xd5)](_0x5b142d=>_0x5b142d[_0x40a067(0x98)]===_0x1b0feb[_0x40a067(0x98)]&&_0x5b142d[_0x40a067(0xb9)]===_0x1b0feb['type']&&_0x5b142d[_0x40a067(0xeb)]===_0x1b0feb[_0x40a067(0xeb)]&&_0x5b142d[_0x40a067(0xce)]===_0x1b0feb[_0x40a067(0xce)]),_0x41a0b6=_0x20f6e6[_0x40a067(0xd5)](_0x14ffab=>!_0x8024ea[_0x40a067(0xc1)][_0x40a067(0x72)](_0x14ffab['id'])),_0x49f7f6=_0x20f6e6[_0x40a067(0xd5)](_0x18d306=>_0x8024ea[_0x40a067(0xc1)][_0x40a067(0x72)](_0x18d306['id']));if(_0x20f6e6['length']!==0x1||_0x41a0b6[_0x40a067(0xe1)]!==0x1)throw recoveryRequiredFailure(_0x51a305,_0x7171b1,{'matchCount':_0x20f6e6[_0x40a067(0xe1)],'newMatchCount':_0x41a0b6[_0x40a067(0xe1)],'preexistingMatchCount':_0x49f7f6[_0x40a067(0xe1)]});const _0x51e124=_0x41a0b6[0x0];try{verifyCreatedFact(_0x51e124,_0x51e124['id'],_0x1b0feb,null);}catch(_0x3edd2b){const _0x133a58=_0x3edd2b instanceof Error&&'code'in _0x3edd2b?_0x3edd2b:menuError(_0x40a067(0xb1),'Recovered\x20menu\x20'+_0x51e124['id']+_0x40a067(0xf2),'Run\x20'+_0x7171b1+_0x40a067(0xe4));throw externalLinkCreateFailure(_0x133a58,_0x51a305,{'stage':'verification','succeeded':[{'id':_0x51e124['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x51e124['id'],'finalFactsConfirmed':![]},'after':_0x51e124,'warnings':[_0x40a067(0xbc)+_0x51e124['id']+_0x40a067(0x9f)],'verification':{'status':_0x40a067(0x7f),'targetId':_0x51e124['id'],'recovered':!![],'lookupCommand':_0x7171b1}});}return creationSuccess(_0x51a305,_0x511abf,_0x51e124,!![]);}function recoveryRequiredFailure(_0xb48c15,_0x3ec3a1,_0x59546f){const _0x27c0ae=a112_0x3cfc30,_0x45c643=menuError(_0x27c0ae(0xc0),_0x27c0ae(0x7e),_0x27c0ae(0xaf)+_0x3ec3a1+_0x27c0ae(0xcb));return externalLinkCreateFailure(_0x45c643,_0xb48c15,{'stage':_0x27c0ae(0x8f),'failed':_0x59546f,'warnings':[_0x27c0ae(0xd7)],'verification':{'status':_0x27c0ae(0x7f),..._0x59546f,'lookupCommand':_0x3ec3a1}});}async function readAndVerifyCreatedMenu(_0x4b41d0){const _0x28a7ab=a112_0x3cfc30;let _0x55496b;try{_0x55496b=await fetchMenuSnapshot(_0x4b41d0[_0x28a7ab(0xc9)],_0x4b41d0[_0x28a7ab(0x90)]);}catch(_0x4fb9ec){const _0x33af65=menuError(_0x28a7ab(0xb1),'Menu\x20'+_0x4b41d0[_0x28a7ab(0xc5)]+_0x28a7ab(0xc6),_0x28a7ab(0xaf)+_0x4b41d0[_0x28a7ab(0x79)]+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x33af65,_0x4b41d0[_0x28a7ab(0x80)],{'stage':_0x28a7ab(0xf0),'succeeded':[{'id':_0x4b41d0[_0x28a7ab(0xc5)],'created':!![]}],'failed':{'id':_0x4b41d0['createdId'],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x4b41d0[_0x28a7ab(0xb3)],'id':_0x4b41d0['createdId'],'path':_0x4b41d0[_0x28a7ab(0xbd)]},'warnings':[_0x28a7ab(0xbc)+_0x4b41d0[_0x28a7ab(0xc5)]+'\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.'],'verification':{'status':_0x28a7ab(0x7f),'targetId':_0x4b41d0[_0x28a7ab(0xc5)],'lookupCommand':_0x4b41d0[_0x28a7ab(0x79)]}});}const _0xb63a9d=_0x55496b[_0x28a7ab(0xc1)]['get'](_0x4b41d0[_0x28a7ab(0xc5)]);try{if(!_0xb63a9d)throw menuError('menu_verification_failed',_0x28a7ab(0x81)+_0x4b41d0[_0x28a7ab(0xc5)]+_0x28a7ab(0xda),_0x28a7ab(0xaf)+_0x4b41d0[_0x28a7ab(0x79)]+_0x28a7ab(0x8d));verifyCreatedFact(_0xb63a9d,_0x4b41d0[_0x28a7ab(0xc5)],_0x4b41d0[_0x28a7ab(0xb3)],_0x4b41d0['expectedPath']);}catch(_0x47a539){const _0x15c706=_0x47a539 instanceof Error&&'code'in _0x47a539?_0x47a539:menuError(_0x28a7ab(0xb1),_0x28a7ab(0x81)+_0x4b41d0['createdId']+_0x28a7ab(0x9a),_0x28a7ab(0xaf)+_0x4b41d0[_0x28a7ab(0x79)]+_0x28a7ab(0x8d));throw externalLinkCreateFailure(_0x15c706,_0x4b41d0[_0x28a7ab(0x80)],{'stage':_0x28a7ab(0xf0),'succeeded':[{'id':_0x4b41d0[_0x28a7ab(0xc5)],'created':!![]}],'failed':{'id':_0x4b41d0[_0x28a7ab(0xc5)],'finalFactsConfirmed':![]},'after':_0xb63a9d??{..._0x4b41d0[_0x28a7ab(0xb3)],'id':_0x4b41d0[_0x28a7ab(0xc5)],'path':_0x4b41d0[_0x28a7ab(0xbd)]},'warnings':[_0x28a7ab(0xbc)+_0x4b41d0['createdId']+_0x28a7ab(0x9c)],'verification':{'status':_0x28a7ab(0x7f),'targetId':_0x4b41d0['createdId'],'recovered':_0x4b41d0['recovered'],'lookupCommand':_0x4b41d0[_0x28a7ab(0x79)]}});}return{'snapshot':_0x55496b,'fact':_0xb63a9d};}function verifyCreatedFact(_0x4abe65,_0x1a9f2e,_0x2c1581,_0x4b733d){const _0x354e3b=a112_0x3cfc30;if(!Number[_0x354e3b(0xdc)](_0x4abe65['id'])||_0x4abe65['id']<=0x0||_0x4abe65['id']!==_0x1a9f2e)throw menuError(_0x354e3b(0xb1),_0x354e3b(0xb5),_0x354e3b(0x71));const _0x5c6692=[[_0x354e3b(0xbe),_0x4abe65[_0x354e3b(0x98)],_0x2c1581[_0x354e3b(0x98)]],['type',_0x4abe65[_0x354e3b(0xb9)],_0x2c1581['type']],[_0x354e3b(0xeb),_0x4abe65['label'],_0x2c1581[_0x354e3b(0xeb)]],[_0x354e3b(0x92),_0x4abe65[_0x354e3b(0xce)],_0x2c1581[_0x354e3b(0xce)]],[_0x354e3b(0xf4),_0x4abe65[_0x354e3b(0x74)],_0x2c1581[_0x354e3b(0x74)]],[_0x354e3b(0xa6),_0x4abe65['sort'],_0x2c1581[_0x354e3b(0xa6)]]];for(const [_0x1f7b2e,_0x5a2766,_0x2c2e40]of _0x5c6692){if(_0x5a2766!==_0x2c2e40)throw menuError('menu_verification_failed',_0x354e3b(0x81)+_0x4abe65['id']+'\x20has\x20an\x20unexpected\x20'+_0x1f7b2e+'.',_0x354e3b(0xbb));}if(!_0x4abe65[_0x354e3b(0x8a)][_0x354e3b(0xd6)]()||_0x4b733d!==null&&_0x4abe65[_0x354e3b(0x8a)]!==_0x4b733d)throw menuError(_0x354e3b(0xb1),_0x354e3b(0x81)+_0x4abe65['id']+_0x354e3b(0x6c),_0x354e3b(0xbb));}function creationSuccess(_0x509b11,_0xdffc16,_0x15e907,_0x42d499){const _0x4bc4f7=a112_0x3cfc30,_0x3d5c36=mutationResult({..._0x509b11,'after':_0x15e907,'dryRun':![],'succeeded':[{'id':_0x15e907['id'],'created':!![],'recovered':_0x42d499}],'verification':{'checkedBy':_0x4bc4f7(0xe9),'snapshotHash':_0xdffc16[_0x4bc4f7(0xd4)],'targetId':_0x15e907['id'],'recovered':_0x42d499,'path':_0x15e907['path']}});return{'ok':!![],'message':_0x42d499?_0x4bc4f7(0x7c)+_0x15e907['id']+_0x4bc4f7(0x8b):'Created\x20external\x20menu\x20'+_0x15e907['id']+'.','data':{..._0x3d5c36,'recovered':_0x42d499}};}function externalLinkCreateFailure(_0x1f5dfc,_0x3d5ddd,_0x332953){const _0x484322=a112_0x3cfc30;return menuFailure(safeMenuAddError(_0x1f5dfc),redactFailurePlan(_0x3d5ddd),{..._0x332953,'succeeded':_0x332953[_0x484322(0x73)]?.[_0x484322(0x9d)](redactFailureRecord),'failed':_0x332953['failed']?redactFailureRecord(_0x332953[_0x484322(0x7f)]):undefined,'verification':_0x332953[_0x484322(0xf0)]?redactFailureRecord(_0x332953[_0x484322(0xf0)]):undefined,'after':_0x332953[_0x484322(0x9e)]===undefined?undefined:redactFailureValue(_0x332953[_0x484322(0x9e)])});}function redactFailurePlan(_0x30d610){const _0x139b98=a112_0x3cfc30;return{..._0x30d610,'selector':redactFailureRecord(_0x30d610[_0x139b98(0xf7)]),'before':redactFailureValue(_0x30d610[_0x139b98(0xa0)]),'after':redactFailureValue(_0x30d610[_0x139b98(0x9e)]),'plannedActions':_0x30d610[_0x139b98(0x70)]?.[_0x139b98(0x9d)](_0x529e4a=>({..._0x529e4a,'body':redactFailureRecord(_0x529e4a[_0x139b98(0x77)])})),'succeeded':_0x30d610[_0x139b98(0x73)]['map'](redactFailureRecord),'failed':_0x30d610[_0x139b98(0x7f)][_0x139b98(0x9d)](redactFailureRecord),'verification':_0x30d610['verification']?redactFailureRecord(_0x30d610[_0x139b98(0xf0)]):undefined};}function redactFailureRecord(_0x4d0bec){return redactFailureValue(_0x4d0bec);}function redactFailureValue(_0x30c2cd,_0x5330f4=''){const _0x30289f=a112_0x3cfc30,_0x4f1943=_0x5330f4[_0x30289f(0xf3)]()['replace'](/[^a-z0-9]/g,'');if(['cause',_0x30289f(0x86),_0x30289f(0xa3),_0x30289f(0x76)][_0x30289f(0x69)](_0x4f1943))return'<redacted>';if(Array[_0x30289f(0xd9)](_0x30c2cd))return _0x30c2cd[_0x30289f(0x9d)](_0x27415f=>redactFailureValue(_0x27415f));if(_0x30c2cd&&typeof _0x30c2cd===_0x30289f(0xae))return Object[_0x30289f(0xcf)](Object[_0x30289f(0xea)](_0x30c2cd)[_0x30289f(0x9d)](([_0xd70879,_0x261978])=>[_0xd70879,redactFailureValue(_0x261978,_0xd70879)]));return _0x30c2cd;}function safeMenuAddError(_0x44e4e1){const _0x113954=a112_0x3cfc30,_0x4d29e7=_0x44e4e1 instanceof CliError?_0x44e4e1['code']:_0x113954(0xd8);switch(_0x4d29e7){case'menu_state_drift':return menuError(_0x4d29e7,_0x113954(0xc8),_0x113954(0xa2));case _0x113954(0xad):return menuError(_0x4d29e7,_0x113954(0x82),_0x113954(0xf6));case'menu_create_response_invalid':return menuError(_0x4d29e7,'Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.',_0x113954(0xd1));case _0x113954(0xb1):return menuError(_0x4d29e7,_0x113954(0xd3),_0x113954(0xd1));case _0x113954(0xc0):return menuError(_0x4d29e7,'The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.');case _0x113954(0xd8):case _0x113954(0xca):case _0x113954(0xee):case _0x113954(0x6d):case _0x113954(0x8e):return menuError(_0x4d29e7,_0x113954(0xc7),_0x113954(0xba));default:return menuError(_0x113954(0xd8),'External\x20menu\x20creation\x20failed.',_0x113954(0xba));}}function getFailureRecord(_0x2728f4){const _0x5751f3=a112_0x3cfc30;if(!(_0x2728f4 instanceof Error)||!(_0x5751f3(0x97)in _0x2728f4))return undefined;const _0x22f0dd=_0x2728f4['data'];if(!_0x22f0dd||typeof _0x22f0dd!==_0x5751f3(0xae))return undefined;const _0x54843e=_0x22f0dd[_0x5751f3(0x7f)];if(!Array[_0x5751f3(0xd9)](_0x54843e)||!_0x54843e[0x0]||typeof _0x54843e[0x0]!==_0x5751f3(0xae))return undefined;return _0x54843e[0x0];}function a112_0x449b(){const _0x6861f1=['External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','replace','menu_permission_denied','object','Run\x20','external-link-create','menu_verification_failed','create','afterPlan','193303tTnWYh','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','menu_url_credentials_forbidden','12jZMTyg','8UnUIyE','type','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','Menu\x20','expectedPath','parent','6nVSJLT','menu_create_recovery_required','byId','POST','add','/smartapi/menu/create','createdId','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','External\x20menu\x20creation\x20failed.','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','appCode','menu_not_found','\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.','str','https:','url','fromEntries','password','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','hash','filter','trim','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','menu_mutation_failed','isArray','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','<platform-generated>','isSafeInteger','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','flagMissing','currentSnapshotHash','length','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','embedded','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','iframe','Whether\x20the\x20menu\x20is\x20visible','prototype','How\x20to\x20open\x20the\x20external\x20website','menu\x20list','entries','label','menu_url_https_required','External\x20HTTPS\x20URL','menu_parent_not_folder','string','verification','\x20--format\x20compress','\x20could\x20not\x20be\x20verified.','toLowerCase','visibility','Menu\x20label','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','selector','Would\x20create\x20external\x20website\x20link\x20menu\x20','menu_create_response_invalid','Provide\x20an\x20HTTPS\x20URL.','username','includes','create\x20external\x20menu','create-response-validation','\x20has\x20an\x20unexpected\x20generated\x20path.','menu_sort_invalid','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','parent-id','plannedActions','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','has','succeeded','visible','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','rawerror','body','new-window','lookupCommand','create-menu','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','Recovered\x20created\x20external\x20menu\x20','6825015LzOXyf','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','failed','plan','Created\x20menu\x20','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','link','menu','write','causemessage','9308sdsMoU','552dgKjLZ','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','path','\x20after\x20response\x20loss.','6393930awAqCT','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','menu_sort_overflow','create-recovery','cookie','open-mode','URL','4109050YQzuSF','327dLCEDi','rawFlags','233QxCCfL','data','parentId','boolean','\x20failed\x20final\x20verification.','pre-write-recheck','\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.','map','after','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','before','fact','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','readbackerror','5488987gZkhNT','call','sort','Create\x20an\x20external\x20website\x20link\x20menu','menu_url_invalid','bool','rabetbase\x20menu\x20list\x20--appcode\x20'];a112_0x449b=function(){return _0x6861f1;};return a112_0x449b();}
|
|
1
|
+
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_0x27bc98=a113_0x50f5;(function(_0x44d662,_0x3661b8){const _0x14e91=a113_0x50f5,_0x2aacf2=_0x44d662();while(!![]){try{const _0x2e090a=-parseInt(_0x14e91(0x18f))/0x1*(parseInt(_0x14e91(0x191))/0x2)+-parseInt(_0x14e91(0x16a))/0x3*(-parseInt(_0x14e91(0x198))/0x4)+parseInt(_0x14e91(0x1a4))/0x5+parseInt(_0x14e91(0x179))/0x6*(-parseInt(_0x14e91(0x164))/0x7)+-parseInt(_0x14e91(0x195))/0x8+-parseInt(_0x14e91(0x17a))/0x9+parseInt(_0x14e91(0x172))/0xa;if(_0x2e090a===_0x3661b8)break;else _0x2aacf2['push'](_0x2aacf2['shift']());}catch(_0x20da45){_0x2aacf2['push'](_0x2aacf2['shift']());}}}(a113_0xaaf1,0x9a275));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{validateExternalMenuUrl}from'../../commands/menu/external-link-create.js';function a113_0xaaf1(){const _0x34724f=['Menu\x20','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','url','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','menu_state_drift','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','verify\x20external\x20menu\x20URL\x20update','17907yzKxdN','external-link-update','104iJcjOS','str','label','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','5080592WRrPDG','POST','\x22,\x20not\x20iframe\x20or\x20link.','105468kizzwd','write','rabetbase\x20menu\x20list\x20--appcode\x20','type','flagMissing','verification','menu_permission_denied','\x20is\x20type\x20\x22','string','update','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','menu_external_link_not_leaf','1256430OwUnIz','\x20could\x20not\x20be\x20verified\x20safely','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','\x20has\x20','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','expect-parent-id','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','update\x20external\x20menu\x20URL','trim','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','\x20parent\x20changed:\x20expected\x20','link','byId','childrenCount','7SJlZHx','path','\x20already\x20matches\x20the\x20requested\x20URL.','menu\x20list','menu_external_link_type_required','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','12EHnUyJ','Updated\x20external\x20URL\x20for\x20menu\x20','iframe','New\x20external\x20HTTPS\x20URL','update-external-link-url','\x27\x5c\x27\x27','expect-url','code','29714350tJvnVB','get','Run\x20','/smartapi/menu/update','Update\x20request\x20for\x20menu\x20','replace',',\x20current\x20','3624714MmYuLH','4737771NpKxHs','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','\x20direct\x20child\x20menu(s).','\x20--format\x20compress','body','failed','\x20has\x20an\x20empty\x20platform\x20path.','visible','requestedUrlObserved','Response\x20was\x20lost\x20and\x20menu\x20','appCode','sort','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','parentId'];a113_0xaaf1=function(){return _0x34724f;};return a113_0xaaf1();}function a113_0x50f5(_0x3fbcbb,_0xa04f8c){_0x3fbcbb=_0x3fbcbb-0x15d;const _0xaaf15=a113_0xaaf1();let _0x50f570=_0xaaf15[_0x3fbcbb];return _0x50f570;}import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,hasFlag,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,parseParentId,recheckMutationSnapshot,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a113_0x27bc98(0x196),'path':a113_0x27bc98(0x175)}];export const menuExternalLinkUpdate={'service':'menu','command':a113_0x27bc98(0x190),'description':a113_0x27bc98(0x1a6),'risk':a113_0x27bc98(0x199),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a113_0x27bc98(0x18a),'type':a113_0x27bc98(0x1a0),'required':!![],'description':a113_0x27bc98(0x16d)},{'name':'expect-url','type':a113_0x27bc98(0x1a0),'required':!![],'description':'Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed'},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x4f274c){validateInput(_0x4f274c);},async 'dryRun'(_0x31c485){const _0x18eeef=a113_0x27bc98;validateInput(_0x31c485);const _0x50617d=await buildPlan(_0x31c485,!![]);return menuDryRunResult(_0x50617d['plan'],{'method':_0x18eeef(0x196),'url':_0x18eeef(0x175),'body':_0x50617d[_0x18eeef(0x17e)],'description':_0x18eeef(0x17b)+_0x50617d[_0x18eeef(0x17e)]['id']+'.'});},async 'execute'(_0x2a886d){const _0x1f0b47=a113_0x27bc98;validateInput(_0x2a886d);const _0x85f300=await buildPlan(_0x2a886d,![]),{plan:_0x25e722,body:_0x308350,before:_0x3f52ea,noChanges:_0x3c3620}=_0x85f300,_0x483f14=_0x308350['id'];if(_0x3c3620)return updateSuccess(_0x25e722,_0x85f300['snapshot'],_0x3f52ea,!![],![]);await recheckMutationSnapshot(_0x2a886d,_0x25e722,_0x1f0b47(0x15d),_0x483f14);try{await updateMenuEntity(_0x2a886d[_0x1f0b47(0x184)],_0x2a886d['cookie'],{'id':_0x308350['id'],'url':_0x308350[_0x1f0b47(0x18a)]});}catch(_0x336b60){const _0x512973=mapMenuApiError(_0x336b60,_0x1f0b47(0x15d),_0x483f14);if(isMenuResponseLoss(_0x336b60)&&_0x512973[_0x1f0b47(0x171)]!==_0x1f0b47(0x19e))return recoverAfterResponseLoss(_0x2a886d,_0x85f300);throw menuFailure(_0x512973,_0x25e722,{'stage':_0x1f0b47(0x1a1),'failed':{'id':_0x483f14},'warnings':[_0x1f0b47(0x194)],'verification':{'status':'failed','targetId':_0x483f14,'lookupCommand':buildLookupCommand(_0x2a886d['appCode'])}});}let _0x43ece6,_0x405dc1;try{_0x43ece6=await fetchMenuSnapshot(_0x2a886d[_0x1f0b47(0x184)],_0x2a886d['cookie']),_0x405dc1=requireMenu(_0x43ece6,_0x483f14),verifyUpdatedFact(_0x3f52ea,_0x405dc1,_0x308350[_0x1f0b47(0x18a)]);}catch(_0x597879){const _0x13b706=describeMenuErrorCause(_0x597879,_0x1f0b47(0x18e),_0x483f14),_0x44c0aa=asVerificationError(_0x597879,_0x1f0b47(0x176)+_0x483f14+_0x1f0b47(0x189));throw menuFailure(_0x44c0aa,_0x25e722,{'stage':_0x1f0b47(0x19d),'succeeded':[{'id':_0x483f14,'updateRequested':!![]}],'failed':{'id':_0x483f14,'requestedStateConfirmed':![],..._0x13b706},'warnings':['The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':_0x1f0b47(0x17f),'targetId':_0x483f14,'lookupCommand':buildLookupCommand(_0x2a886d[_0x1f0b47(0x184)])}});}return updateSuccess(_0x25e722,_0x43ece6,_0x405dc1,![],![]);}};function validateInput(_0x1b7508){const _0x3c949c=a113_0x27bc98;validateExactId(_0x1b7508),requiredUrl(_0x1b7508,'url'),requiredExpectedUrl(_0x1b7508),parseParentId(_0x1b7508,_0x3c949c(0x1a9),{'required':!![]});}function requiredUrl(_0x10a17a,_0x405372){const _0x115bfd=a113_0x27bc98;if(!hasFlag(_0x10a17a,_0x405372)||!_0x10a17a[_0x115bfd(0x192)](_0x405372)[_0x115bfd(0x15e)]())throw CliErrors['flagMissing'](_0x405372);return validateExternalMenuUrl(_0x10a17a['str'](_0x405372));}function requiredExpectedUrl(_0x425af8){const _0x125bf8=a113_0x27bc98;if(!hasFlag(_0x425af8,_0x125bf8(0x170))||!_0x425af8[_0x125bf8(0x192)]('expect-url')['trim']())throw CliErrors[_0x125bf8(0x19c)](_0x125bf8(0x170));return _0x425af8[_0x125bf8(0x192)](_0x125bf8(0x170))[_0x125bf8(0x15e)]();}async function buildPlan(_0xfab6af,_0x58a7d9){const _0x38988e=a113_0x27bc98,_0x5f13d2=validateExactId(_0xfab6af),_0x540297=requiredUrl(_0xfab6af,_0x38988e(0x18a)),_0x1cec6f=requiredExpectedUrl(_0xfab6af),_0x20e5a6=parseParentId(_0xfab6af,'expect-parent-id',{'required':!![]}),_0x52613f=await fetchMutationSnapshot(_0xfab6af,_0x38988e(0x15d),_0x5f13d2),_0x1fee33=requireMenu(_0x52613f,_0x5f13d2);assertExternalLinkLeaf(_0x1fee33);if(_0x1fee33[_0x38988e(0x187)]!==_0x20e5a6)throw menuError(_0x38988e(0x18c),'Menu\x20'+_0x5f13d2+_0x38988e(0x160)+formatParent(_0x20e5a6)+_0x38988e(0x178)+formatParent(_0x1fee33[_0x38988e(0x187)])+'.',_0x38988e(0x18d));const _0x29f93a=_0x1fee33['url']===_0x540297;if(!_0x29f93a&&_0x1fee33[_0x38988e(0x18a)]!==_0x1cec6f)throw menuError('menu_state_drift',_0x38988e(0x188)+_0x5f13d2+_0x38988e(0x1a2),'Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.');const _0x1c985f={'id':_0x5f13d2,'appCode':_0xfab6af[_0x38988e(0x184)],'url':_0x540297},_0x385108={..._0x1fee33,'url':_0x540297};return{'body':_0x1c985f,'before':_0x1fee33,'noChanges':_0x29f93a,'snapshot':_0x52613f,'plan':mutationResult({'operation':_0x38988e(0x190),'selector':{'id':_0x5f13d2},'before':_0x1fee33,'after':_0x385108,'dryRun':_0x58a7d9,'backend':[...BACKEND],'plannedActions':_0x29f93a?[]:[{'stage':_0x38988e(0x16e),'method':_0x38988e(0x196),'path':_0x38988e(0x175),'body':_0x1c985f}],'snapshotHash':_0x52613f['hash'],'warnings':_0x29f93a?[_0x38988e(0x15f)]:[]})};}function assertExternalLinkLeaf(_0x1c7b7b){const _0x3a42ad=a113_0x27bc98;if(_0x1c7b7b[_0x3a42ad(0x19b)]!==_0x3a42ad(0x16c)&&_0x1c7b7b[_0x3a42ad(0x19b)]!==_0x3a42ad(0x161))throw menuError(_0x3a42ad(0x168),_0x3a42ad(0x188)+_0x1c7b7b['id']+_0x3a42ad(0x19f)+(_0x1c7b7b[_0x3a42ad(0x19b)]||'unknown')+_0x3a42ad(0x197),_0x3a42ad(0x1a8));if(_0x1c7b7b[_0x3a42ad(0x163)]!==0x0)throw menuError(_0x3a42ad(0x1a3),_0x3a42ad(0x188)+_0x1c7b7b['id']+_0x3a42ad(0x1a7)+_0x1c7b7b[_0x3a42ad(0x163)]+_0x3a42ad(0x17c),'External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.');if(!_0x1c7b7b[_0x3a42ad(0x165)][_0x3a42ad(0x15e)]())throw menuError('menu_external_link_path_missing',_0x3a42ad(0x188)+_0x1c7b7b['id']+_0x3a42ad(0x180),_0x3a42ad(0x186));}function verifyUpdatedFact(_0x4f41ea,_0x307eae,_0x166a4e){const _0x310c61=a113_0x27bc98;assertExternalLinkLeaf(_0x307eae);const _0xc7c8d3=[['id',_0x307eae['id'],_0x4f41ea['id']],['label',_0x307eae['label'],_0x4f41ea[_0x310c61(0x193)]],[_0x310c61(0x19b),_0x307eae[_0x310c61(0x19b)],_0x4f41ea[_0x310c61(0x19b)]],[_0x310c61(0x165),_0x307eae[_0x310c61(0x165)],_0x4f41ea['path']],[_0x310c61(0x187),_0x307eae[_0x310c61(0x187)],_0x4f41ea[_0x310c61(0x187)]],[_0x310c61(0x185),_0x307eae[_0x310c61(0x185)],_0x4f41ea[_0x310c61(0x185)]],[_0x310c61(0x181),_0x307eae[_0x310c61(0x181)],_0x4f41ea[_0x310c61(0x181)]]];for(const [_0x21af07,_0x97e053,_0x16e819]of _0xc7c8d3){assertVerified(_0x97e053===_0x16e819,_0x310c61(0x188)+_0x4f41ea['id']+'\x20'+_0x21af07+'\x20changed\x20during\x20the\x20URL-only\x20update.');}assertVerified(_0x307eae[_0x310c61(0x18a)]===_0x166a4e,_0x310c61(0x188)+_0x4f41ea['id']+'\x20URL\x20update\x20did\x20not\x20take\x20effect.');}function updateSuccess(_0x512d87,_0x27216d,_0x379435,_0x3d225d,_0x1dcb73){const _0x3d6c70=a113_0x27bc98,_0x3bca74=_0x379435['id'],_0x37fe42=mutationResult({..._0x512d87,'after':_0x379435,'dryRun':![],'succeeded':[{'id':_0x3bca74,'updated':!_0x3d225d,'skipped':_0x3d225d,'recovered':_0x1dcb73}],'verification':{'checkedBy':_0x3d6c70(0x167),'snapshotHash':_0x27216d['hash'],'targetId':_0x3bca74,'matchesRequestedState':!![],'recovered':_0x1dcb73}});return{'ok':!![],'message':_0x1dcb73?_0x3d6c70(0x18b)+_0x3bca74+'.':_0x3d225d?_0x3d6c70(0x188)+_0x3bca74+_0x3d6c70(0x166):_0x3d6c70(0x16b)+_0x3bca74+'.','data':{..._0x37fe42,'recovered':_0x1dcb73}};}async function recoverAfterResponseLoss(_0x42185a,_0xd50061){const _0x30e50d=a113_0x27bc98,{plan:_0x445379,before:_0x2bb57b,body:_0x475bab}=_0xd50061;let _0xdc5893;try{_0xdc5893=await fetchMenuSnapshot(_0x42185a['appCode'],_0x42185a['cookie']);}catch{throw recoveryRequired(_0x445379,_0x42185a['appCode'],{'id':_0x475bab['id'],'readbackFailed':!![]});}const _0x15128a=_0xdc5893[_0x30e50d(0x162)][_0x30e50d(0x173)](_0x475bab['id']);if(!_0x15128a||_0x15128a[_0x30e50d(0x18a)]!==_0x475bab[_0x30e50d(0x18a)])throw recoveryRequired(_0x445379,_0x42185a[_0x30e50d(0x184)],{'id':_0x475bab['id'],'requestedUrlObserved':![],'after':_0x15128a??null});try{verifyUpdatedFact(_0x2bb57b,_0x15128a,_0x475bab[_0x30e50d(0x18a)]);}catch(_0x4f5127){const _0x238af2=asVerificationError(_0x4f5127,_0x30e50d(0x183)+_0x475bab['id']+_0x30e50d(0x1a5));throw menuFailure(_0x238af2,_0x445379,{'stage':'update-recovery','succeeded':[{'id':_0x475bab['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x475bab['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x15128a,'warnings':['The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.'],'verification':{'status':_0x30e50d(0x17f),'targetId':_0x475bab['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x42185a['appCode'])}});}return updateSuccess(_0x445379,_0xdc5893,_0x15128a,![],!![]);}function recoveryRequired(_0x1a0701,_0x42a65d,_0x4817d3){const _0x3cb335=a113_0x27bc98,_0xf3cb84=menuError('menu_update_recovery_required',_0x3cb335(0x169),_0x3cb335(0x174)+buildLookupCommand(_0x42a65d)+_0x3cb335(0x1aa));return menuFailure(_0xf3cb84,_0x1a0701,{'stage':'update-recovery','failed':{'id':_0x4817d3['id'],..._0x4817d3[_0x3cb335(0x182)]===undefined?{}:{'requestedUrlObserved':_0x4817d3[_0x3cb335(0x182)]},..._0x4817d3['readbackFailed']?{'readbackFailed':!![]}:{}},'after':_0x4817d3['after'],'warnings':['The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.'],'verification':{'status':_0x3cb335(0x17f),'targetId':_0x4817d3['id'],..._0x4817d3[_0x3cb335(0x182)]===undefined?{}:{'requestedUrlObserved':_0x4817d3[_0x3cb335(0x182)]},..._0x4817d3['readbackFailed']?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x42a65d)}});}function buildLookupCommand(_0x1bc779){const _0x2d8032=a113_0x27bc98,_0x157108='\x27'+_0x1bc779[_0x2d8032(0x177)](/'/g,_0x2d8032(0x16f))+'\x27';return _0x2d8032(0x19a)+_0x157108+_0x2d8032(0x17d);}
|
|
1
|
+
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_0x39f9e4=a114_0x9b40;(function(_0x57e545,_0x102c3f){const _0x2196f7=a114_0x9b40,_0x4f5c72=_0x57e545();while(!![]){try{const _0x315995=-parseInt(_0x2196f7(0x1bd))/0x1*(parseInt(_0x2196f7(0x1c3))/0x2)+parseInt(_0x2196f7(0x1c5))/0x3*(-parseInt(_0x2196f7(0x194))/0x4)+parseInt(_0x2196f7(0x1cd))/0x5*(parseInt(_0x2196f7(0x1b5))/0x6)+-parseInt(_0x2196f7(0x1b9))/0x7*(-parseInt(_0x2196f7(0x1d8))/0x8)+parseInt(_0x2196f7(0x199))/0x9+-parseInt(_0x2196f7(0x1ac))/0xa+-parseInt(_0x2196f7(0x1a8))/0xb;if(_0x315995===_0x102c3f)break;else _0x4f5c72['push'](_0x4f5c72['shift']());}catch(_0x8c1b45){_0x4f5c72['push'](_0x4f5c72['shift']());}}}(a114_0x1bdb,0xad5bd));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';function a114_0x1bdb(){const _0x423a4d=['create\x20folder','sort','11543310ZektYN','create-folder','parent-id','group-create','\x20is\x20missing\x20from\x20menu\x20list.','folder','resources','rabetbase\x20menu\x20list\x20--format\x20json','hash','Would\x20create\x20empty\x20folder\x20\x22','Menu\x20create\x20response\x20for\x20folder\x20','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','\x20has\x20an\x20unexpected\x20label.','\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract','Created\x20menu\x20','523391aGGxnG','create-response-validation','verification','childrenCount','1805480mqxmwL','cookie','\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.','stringify','parentId','Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','after','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','POST','9318VPtXIn','str',';\x20verify\x20it\x20before\x20retrying.','label','133BgIZAX','\x20is\x20not\x20visible.','Folder\x20label','string','1310eYHpYB','appCode','root','Folder\x20','type','/smartapi/menu/create','1270itBlby','\x20has\x20resources.','922353JrqhgR','\x20may\x20exist\x20online\x20at\x20path\x20','failed','length','menu','\x20is\x20not\x20empty.','\x20has\x20an\x20unexpected\x20sort.','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','1715Hwinsn','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','Created\x20folder\x20','path','depth','verify\x20folder\x20creation','isSafeInteger','trim','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','\x20is\x20not\x20type\x20folder.','\x20unexpectedly\x20owns\x20a\x20page.','110416LBDLwo','visible','\x20has\x20unexpected\x20parent\x20','menu_create_response_invalid','Created\x20menu\x20folder\x20','get','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','4ELDHoJ','byId','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.'];a114_0x1bdb=function(){return _0x423a4d;};return a114_0x1bdb();}function a114_0x9b40(_0x3be109,_0x56abef){_0x3be109=_0x3be109-0x190;const _0x1bdb7f=a114_0x1bdb();let _0x9b40d9=_0x1bdb7f[_0x3be109];return _0x9b40d9;}import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a114_0x39f9e4(0x1b4),'path':a114_0x39f9e4(0x1c2)}];export const menuGroupCreate={'service':a114_0x39f9e4(0x1c9),'command':a114_0x39f9e4(0x19c),'description':a114_0x39f9e4(0x1b1),'risk':'write','structuredErrors':!![],'flags':[{'name':a114_0x39f9e4(0x1b8),'type':a114_0x39f9e4(0x1bc),'required':!![],'description':a114_0x39f9e4(0x1bb)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x14d4ba){validateCreateInput(_0x14d4ba);},async 'dryRun'(_0x180b7c){const _0x31ac87=a114_0x39f9e4,_0x44a66a=await buildCreatePlan(_0x180b7c,!![]),_0x264d00=_0x44a66a[_0x31ac87(0x1b2)];return menuDryRunResult(_0x44a66a,{'method':_0x31ac87(0x1b4),'url':_0x31ac87(0x1c2),'body':{'parentId':toApiParentId(_0x264d00['parentId']),'label':_0x264d00[_0x31ac87(0x1b8)],'type':_0x31ac87(0x19e),'visible':!![],'sort':_0x264d00[_0x31ac87(0x198)],'extend':{}},'description':_0x31ac87(0x1a2)+String(_0x264d00[_0x31ac87(0x1b8)])+'\x22\x20with\x20a\x20platform-generated\x20path.'});},async 'execute'(_0x407316){const _0x5336fb=a114_0x39f9e4;validateCreateInput(_0x407316);const _0x136518=await buildCreatePlan(_0x407316,![]),_0x51a577=_0x136518[_0x5336fb(0x1b2)];await recheckMutationSnapshot(_0x407316,_0x136518,_0x5336fb(0x197));let _0xc49a93;try{_0xc49a93=await createMenuEntity(_0x407316[_0x5336fb(0x1be)],_0x407316['cookie'],{'parentId':toApiParentId(_0x51a577['parentId']),'label':String(_0x51a577[_0x5336fb(0x1b8)]),'type':'folder','visible':!![],'sort':Number(_0x51a577[_0x5336fb(0x198)]),'extend':{}});}catch(_0x2f9054){const _0x5c8106=mapMenuApiError(_0x2f9054,_0x5336fb(0x197));throw menuFailure(_0x5c8106,_0x136518,{'stage':'create','failed':{}});}const _0x366169=Number(_0xc49a93['id']);if(!Number[_0x5336fb(0x1d3)](_0x366169)||_0x366169<=0x0){const _0x10fa94=menuError('menu_create_response_invalid',_0x5336fb(0x1cc),_0x5336fb(0x1d5));throw menuFailure(_0x10fa94,_0x136518,{'stage':_0x5336fb(0x1a9),'failed':{'createdId':_0xc49a93['id']??null},'warnings':[_0x5336fb(0x1ce)],'verification':{'status':_0x5336fb(0x1c7),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json'}});}const _0x1a4e6c=typeof _0xc49a93[_0x5336fb(0x1d0)]==='string'?_0xc49a93['path']:'';if(!_0x1a4e6c['trim']()){const _0x10c1d8=menuError(_0x5336fb(0x190),_0x5336fb(0x1a3)+_0x366169+_0x5336fb(0x1a4),'Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.');throw menuFailure(_0x10c1d8,_0x136518,{'stage':_0x5336fb(0x1a9),'succeeded':[{'id':_0x366169,'created':!![]}],'failed':{'id':_0x366169,'generatedPathConfirmed':![]},'warnings':[_0x5336fb(0x1c0)+_0x366169+_0x5336fb(0x1ae)],'after':{..._0x51a577,'id':_0x366169,'path':_0x1a4e6c},'verification':{'status':_0x5336fb(0x1c7),'lookupCommand':_0x5336fb(0x1a0),'targetId':_0x366169}});}let _0x4b8465;try{_0x4b8465=await fetchMenuSnapshot(_0x407316[_0x5336fb(0x1be)],_0x407316[_0x5336fb(0x1ad)]);}catch(_0x5ade3b){const _0x3c0e4c=describeMenuErrorCause(_0x5ade3b,_0x5336fb(0x1d2),_0x366169),_0x552496=asVerificationError(_0x5ade3b,_0x5336fb(0x1c0)+_0x366169+'\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts');throw menuFailure(_0x552496,_0x136518,{'stage':_0x5336fb(0x1aa),'succeeded':[{'id':_0x366169,'created':!![],'path':_0x1a4e6c}],'failed':{'id':_0x366169,'finalFactsConfirmed':![],..._0x3c0e4c},'warnings':['Folder\x20'+_0x366169+_0x5336fb(0x1c6)+JSON[_0x5336fb(0x1af)](_0x1a4e6c)+_0x5336fb(0x1b7)],'after':{..._0x51a577,'id':_0x366169,'path':_0x1a4e6c},'verification':{'status':_0x5336fb(0x1c7),'lookupCommand':_0x5336fb(0x1a0),'targetId':_0x366169}});}const _0x3e840d=_0x4b8465[_0x5336fb(0x195)][_0x5336fb(0x192)](_0x366169);let _0x44d625;try{assertVerified(Boolean(_0x3e840d),_0x5336fb(0x1cf)+_0x366169+_0x5336fb(0x19d)),_0x44d625=_0x3e840d,assertVerified(_0x44d625[_0x5336fb(0x1c1)]===_0x5336fb(0x19e),_0x5336fb(0x1a7)+_0x366169+_0x5336fb(0x1d6)),assertVerified(_0x44d625[_0x5336fb(0x1b8)]===_0x51a577[_0x5336fb(0x1b8)],_0x5336fb(0x1cf)+_0x366169+_0x5336fb(0x1a5)),assertVerified(_0x44d625[_0x5336fb(0x1d0)]===_0x1a4e6c&&Boolean(_0x44d625['path'][_0x5336fb(0x1d4)]()),'Created\x20folder\x20'+_0x366169+_0x5336fb(0x1b3)),assertVerified(_0x44d625[_0x5336fb(0x1d9)]===!![],_0x5336fb(0x1cf)+_0x366169+_0x5336fb(0x1ba)),assertVerified(_0x44d625[_0x5336fb(0x19f)][_0x5336fb(0x1c8)]===0x0,_0x5336fb(0x1cf)+_0x366169+_0x5336fb(0x1c4)),assertVerified(_0x44d625[_0x5336fb(0x1ab)]===0x0,'Created\x20folder\x20'+_0x366169+_0x5336fb(0x1ca)),assertVerified(_0x44d625[_0x5336fb(0x198)]===_0x51a577[_0x5336fb(0x198)],_0x5336fb(0x1cf)+_0x366169+_0x5336fb(0x1cb)),assertVerified(_0x44d625[_0x5336fb(0x1b0)]===_0x51a577[_0x5336fb(0x1b0)],_0x5336fb(0x1cf)+_0x366169+_0x5336fb(0x1da)+(_0x44d625[_0x5336fb(0x1b0)]??_0x5336fb(0x1bf))+'.'),assertVerified(_0x44d625['pageId']==null,_0x5336fb(0x1cf)+_0x366169+_0x5336fb(0x1d7));const _0x331ca3=_0x44d625[_0x5336fb(0x1b0)]==null?undefined:requireFolder(_0x4b8465,_0x44d625[_0x5336fb(0x1b0)]);assertVerified(_0x44d625[_0x5336fb(0x1d1)]===(_0x331ca3?_0x331ca3['depth']+0x1:0x0),_0x5336fb(0x1cf)+_0x366169+_0x5336fb(0x196));}catch(_0x15c28d){const _0x2e6cb0=describeMenuErrorCause(_0x15c28d,_0x5336fb(0x1d2),_0x366169),_0xc253c4=asVerificationError(_0x15c28d,'Folder\x20'+_0x366169+_0x5336fb(0x1a6));throw menuFailure(_0xc253c4,_0x136518,{'stage':_0x5336fb(0x1aa),'succeeded':[{'id':_0x366169,'created':!![],'path':_0x1a4e6c}],'failed':{'id':_0x366169,'finalFactsConfirmed':![],..._0x2e6cb0},'warnings':[_0x5336fb(0x1c0)+_0x366169+_0x5336fb(0x193)],'after':_0x3e840d??{..._0x51a577,'id':_0x366169,'path':_0x1a4e6c},'verification':{'status':_0x5336fb(0x1c7),'lookupCommand':_0x5336fb(0x1a0),'targetId':_0x366169}});}const _0x43f203=mutationResult({..._0x136518,'after':_0x44d625,'dryRun':![],'succeeded':[{'id':_0x366169,'type':_0x5336fb(0x19e),'path':_0x1a4e6c}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x4b8465[_0x5336fb(0x1a1)],'folder':!![],'path':_0x1a4e6c,'emptyResources':!![]}});return{'ok':!![],'data':_0x43f203,'message':_0x5336fb(0x191)+_0x366169+'.'};}};function validateCreateInput(_0x27883d){const _0x2a562e=a114_0x39f9e4,_0x12968d=_0x27883d[_0x2a562e(0x1b6)](_0x2a562e(0x1b8))[_0x2a562e(0x1d4)]();if(!_0x12968d)throw CliErrors['flagMissing'](_0x2a562e(0x1b8));parseParentId(_0x27883d,_0x2a562e(0x19b)),validateSort(_0x27883d);}async function buildCreatePlan(_0x2da247,_0x2c784f){const _0x272017=a114_0x39f9e4,_0x357b03=await fetchMutationSnapshot(_0x2da247,_0x272017(0x197)),_0x325821=parseParentId(_0x2da247,'parent-id')??null;if(_0x325821!=null)requireFolder(_0x357b03,_0x325821);const _0x139051=validateSort(_0x2da247),_0xbe7cbe=_0x139051??nextSiblingSort(_0x357b03,_0x325821,_0x272017(0x19e)),_0x894c84=_0x2da247[_0x272017(0x1b6)]('label')[_0x272017(0x1d4)]();return mutationResult({'operation':_0x272017(0x19c),'selector':{'label':_0x894c84,'parentId':_0x325821},'before':null,'after':{'id':null,'parentId':_0x325821,'label':_0x894c84,'path':'<platform-generated>','type':_0x272017(0x19e),'visible':!![],'sort':_0xbe7cbe,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x2c784f,'backend':[...BACKEND],'plannedActions':[{'stage':_0x272017(0x19a),'method':_0x272017(0x1b4),'path':_0x272017(0x1c2),'body':{'parentId':toApiParentId(_0x325821),'label':_0x894c84,'type':_0x272017(0x19e),'visible':!![],'sort':_0xbe7cbe,'extend':{}}}],'snapshotHash':_0x357b03[_0x272017(0x1a1)],'warnings':['The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.']});}
|
|
1
|
+
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)]});}
|