@lovrabet/rabetbase-cli 2.5.3-beta.1 → 2.5.3-beta.3
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/api-group.d.ts +22 -0
- package/lib/api/api-group.js +1 -0
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.d.ts +18 -2
- package/lib/api/generate-api-file.js +1 -1
- package/lib/api/generate-sdk-config-file.js +1 -1
- package/lib/api/legacy-api-file.d.ts +11 -0
- package/lib/api/legacy-api-file.js +1 -0
- package/lib/api/model-registry-file.d.ts +36 -0
- package/lib/api/model-registry-file.js +1 -0
- package/lib/api/model-registry-scaffold.d.ts +7 -0
- package/lib/api/model-registry-scaffold.js +1 -0
- package/lib/api/model-source.d.ts +6 -0
- package/lib/api/model-source.js +1 -0
- 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/logs.d.ts +7 -0
- package/lib/commands/bff/logs.js +1 -0
- 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.d.ts +7 -0
- 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/batch-design.d.ts +21 -0
- package/lib/commands/dataset/batch-design.js +1 -0
- 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/cross-relation-create.d.ts +2 -0
- package/lib/commands/dataset/cross-relation-create.js +1 -0
- package/lib/commands/dataset/cross-relation-delete.d.ts +2 -0
- package/lib/commands/dataset/cross-relation-delete.js +1 -0
- package/lib/commands/dataset/cross-relation-list.d.ts +2 -0
- package/lib/commands/dataset/cross-relation-list.js +1 -0
- package/lib/commands/dataset/cross-relation-shared.d.ts +190 -0
- package/lib/commands/dataset/cross-relation-shared.js +1 -0
- package/lib/commands/dataset/cross-relation-update.d.ts +2 -0
- package/lib/commands/dataset/cross-relation-update.js +1 -0
- 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.js +1 -1
- package/lib/commands/dataset/field-update.js +1 -1
- package/lib/commands/dataset/generate.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/dataset/relation-audit.js +1 -1
- package/lib/commands/dataset/relation-create.js +1 -1
- package/lib/commands/dataset/relation-delete.js +1 -1
- package/lib/commands/dataset/relation-shared.js +1 -1
- package/lib/commands/dataset/relation-update.js +1 -1
- package/lib/commands/dataset/relations.js +1 -1
- package/lib/commands/dataset/rename.js +1 -1
- package/lib/commands/dataset/restore.js +1 -1
- package/lib/commands/dataset/user-deleted-field-list.js +1 -1
- package/lib/commands/db/analysis-batching.js +1 -1
- package/lib/commands/db/analyze-batch-plan.js +1 -1
- package/lib/commands/db/analyze-cancel.js +1 -1
- package/lib/commands/db/analyze-start.js +1 -1
- package/lib/commands/db/analyze-status.js +1 -1
- package/lib/commands/db/create.js +1 -1
- package/lib/commands/db/delete.js +1 -1
- package/lib/commands/db/detail.js +1 -1
- package/lib/commands/db/diff-refresh-start.js +1 -1
- package/lib/commands/db/diff-refresh-status.js +1 -1
- package/lib/commands/db/diff.js +1 -1
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.js +1 -1
- package/lib/commands/db/table-diff-shared.js +1 -1
- package/lib/commands/db/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/deployment/index.js +1 -1
- package/lib/commands/deployment/sync-all.js +1 -1
- package/lib/commands/deployment/sync-jobs.js +1 -1
- package/lib/commands/deployment/sync-status.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/flow/create.d.ts +2 -0
- package/lib/commands/flow/create.js +1 -0
- package/lib/commands/flow/detail.d.ts +2 -0
- package/lib/commands/flow/detail.js +1 -0
- package/lib/commands/flow/index.d.ts +3 -0
- package/lib/commands/flow/index.js +1 -0
- package/lib/commands/flow/list.d.ts +2 -0
- package/lib/commands/flow/list.js +1 -0
- package/lib/commands/flow/publish.d.ts +2 -0
- package/lib/commands/flow/publish.js +1 -0
- package/lib/commands/flow/runtime-resources-shared.d.ts +40 -0
- package/lib/commands/flow/runtime-resources-shared.js +1 -0
- package/lib/commands/flow/runtime-role-list.d.ts +2 -0
- package/lib/commands/flow/runtime-role-list.js +1 -0
- package/lib/commands/flow/runtime-role-user-list.d.ts +2 -0
- package/lib/commands/flow/runtime-role-user-list.js +1 -0
- package/lib/commands/flow/runtime-user-search.d.ts +2 -0
- package/lib/commands/flow/runtime-user-search.js +1 -0
- package/lib/commands/flow/shared.d.ts +41 -0
- package/lib/commands/flow/shared.js +1 -0
- package/lib/commands/flow/update.d.ts +2 -0
- package/lib/commands/flow/update.js +1 -0
- package/lib/commands/flow/validate.d.ts +3 -0
- package/lib/commands/flow/validate.js +1 -0
- package/lib/commands/instant-api-policy/current.js +1 -1
- package/lib/commands/instant-api-policy/index.js +1 -1
- package/lib/commands/instant-api-policy/init.js +1 -1
- package/lib/commands/instant-api-policy/publish.js +1 -1
- package/lib/commands/instant-api-policy/pull.js +1 -1
- package/lib/commands/instant-api-policy/revision.js +1 -1
- package/lib/commands/instant-api-policy/revisions.js +1 -1
- package/lib/commands/instant-api-policy/rollback.js +1 -1
- package/lib/commands/instant-api-policy/shared.js +1 -1
- package/lib/commands/instant-api-policy/validate.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/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/api-architecture-upgrade.d.ts +28 -0
- package/lib/commands/project/api-architecture-upgrade.js +1 -0
- 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/domain-routing-sync.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/upgrade.d.ts +30 -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/rule/get.js +1 -1
- package/lib/commands/rule/index.js +1 -1
- package/lib/commands/rule/list.js +1 -1
- package/lib/commands/rule/set.js +1 -1
- package/lib/commands/rule/shared.js +1 -1
- package/lib/commands/run/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/sql/create.js +1 -1
- package/lib/commands/sql/delete.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/sql/list.js +1 -1
- package/lib/commands/sql/pull.js +1 -1
- package/lib/commands/sql/push.js +1 -1
- package/lib/commands/sql/shared.js +1 -1
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/commands/task/index.js +1 -1
- package/lib/commands/task/status.js +1 -1
- package/lib/commands/tenant/index.js +1 -1
- package/lib/commands/tenant/members-list.js +1 -1
- package/lib/commands/tenant/shared.js +1 -1
- package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
- package/lib/commands/user-account/index.js +1 -1
- package/lib/commands/workspace/add.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/commands/workspace/remove.js +1 -1
- package/lib/config/domain-config.js +1 -1
- package/lib/config/project-domain-routing.js +1 -1
- package/lib/config/region-config.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.js +1 -1
- package/lib/constant/region.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/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.d.ts +2 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.d.ts +13 -17
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.d.ts +176 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/hook-directory.d.ts +55 -0
- package/lib/core/bff/hook-directory.js +1 -0
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/types.d.ts +15 -0
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/cross-db-relation.d.ts +41 -0
- package/lib/core/cross-db-relation.js +1 -0
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/flow-config.d.ts +628 -0
- package/lib/core/flow-config.js +1 -0
- package/lib/core/instant-api-policy/config.js +1 -1
- package/lib/core/kb-search-client.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/page/lr-smart-jsx.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.d.ts +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/supported-flags.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/generated/official-routing.js +1 -1
- package/lib/generated/routing-contract.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.d.ts +0 -10
- 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/types/index.d.ts +11 -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.d.ts +12 -0
- 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 +4 -1
- package/skills/rabetbase/SKILL.md +31 -9
- package/skills/rabetbase/guides/approval-flow-development-workflow.md +137 -0
- package/skills/rabetbase/guides/backend-function.md +19 -9
- package/skills/rabetbase/guides/bff-creation-workflow.md +10 -1
- package/skills/rabetbase/guides/conflict-detection.md +2 -0
- package/skills/rabetbase/guides/sdk-client-generation.md +112 -60
- package/skills/rabetbase/guides/typescript-sdk.md +9 -0
- package/skills/rabetbase/knowledge/approval-flow/config-json-schema.md +290 -0
- package/skills/rabetbase/references/rabetbase-api-pull.md +30 -19
- package/skills/rabetbase/references/rabetbase-app-list.md +1 -1
- package/skills/rabetbase/references/rabetbase-bff-create.md +1 -1
- package/skills/rabetbase/references/rabetbase-bff-logs.md +47 -0
- package/skills/rabetbase/references/rabetbase-bff-pull.md +7 -3
- package/skills/rabetbase/references/rabetbase-bff-push.md +10 -2
- package/skills/rabetbase/references/rabetbase-config.md +2 -1
- package/skills/rabetbase/references/rabetbase-dataset-cross-relations.md +60 -0
- package/skills/rabetbase/references/rabetbase-dataset-generate.md +52 -2
- package/skills/rabetbase/references/rabetbase-flow-commands.md +86 -0
- package/skills/rabetbase/references/rabetbase-flow-resources.md +83 -0
- package/skills/rabetbase/references/rabetbase-flow-runtime-boundary.md +25 -0
- package/skills/rabetbase/references/rabetbase-instant-api-policy.md +103 -11
- package/skills/rabetbase/references/rabetbase-notification-config-list.md +17 -0
- package/skills/rabetbase/references/rabetbase-project-create.md +3 -3
- package/skills/rabetbase/references/rabetbase-project-upgrade.md +24 -13
- package/skills/rabetbase.manifest.json +10 -3
- package/templates/README.md +16 -4
- package/templates/generate-api/model-runtime.ts.tpl +101 -0
- package/templates/generate-api/profile-api.ts.tpl +21 -0
- package/templates/generate-api/profile-client.ts.tpl +14 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
const a123_0x929761=a123_0x55eb;(function(_0x519a33,_0x527f49){const _0x46ab0c=a123_0x55eb,_0x263b7c=_0x519a33();while(!![]){try{const _0x354547=-parseInt(_0x46ab0c(0xb1))/0x1*(parseInt(_0x46ab0c(0xcd))/0x2)+parseInt(_0x46ab0c(0xd6))/0x3*(-parseInt(_0x46ab0c(0xab))/0x4)+-parseInt(_0x46ab0c(0xd4))/0x5*(-parseInt(_0x46ab0c(0xf4))/0x6)+-parseInt(_0x46ab0c(0xc5))/0x7+parseInt(_0x46ab0c(0xca))/0x8*(-parseInt(_0x46ab0c(0xd0))/0x9)+parseInt(_0x46ab0c(0xad))/0xa*(-parseInt(_0x46ab0c(0xde))/0xb)+parseInt(_0x46ab0c(0xf5))/0xc*(parseInt(_0x46ab0c(0xe8))/0xd);if(_0x354547===_0x527f49)break;else _0x263b7c['push'](_0x263b7c['shift']());}catch(_0x2e6b4b){_0x263b7c['push'](_0x263b7c['shift']());}}}(a123_0x2d06,0xd6135));function a123_0x55eb(_0x28f521,_0x2f255b){_0x28f521=_0x28f521-0x9e;const _0x2d068e=a123_0x2d06();let _0x55eb75=_0x2d068e[_0x28f521];return _0x55eb75;}import{createHash}from'node:crypto';import{readFile,stat}from'node:fs/promises';import{resolve}from'node:path';import{TextDecoder}from'node:util';import{getEnterpriseKnowledgeBase,getPlatformErrorCode,listEnterpriseKnowledgeBases}from'../../core/api-client.js';import{CliError}from'../../errors.js';const LIST_PAGE_SIZE=0x32,DATA_NOT_EXIST_ERROR_CODE=a123_0x929761(0xbb);export function kbError(_0x38b906,_0x208331,_0x4b20b7){return new CliError(_0x38b906,0x1,_0x208331,_0x4b20b7);}export function readKbId(_0x2ab810){const _0x5bd589=a123_0x929761,_0x526f19=_0x2ab810[_0x5bd589(0xfb)]('id');if(!Number[_0x5bd589(0xed)](_0x526f19)||_0x526f19<=0x0)throw kbError(_0x5bd589(0xec),_0x5bd589(0xac));return _0x526f19;}export function requireKbExplicitYes(_0x527a63){const _0x413733=a123_0x929761;if(_0x527a63[_0x413733(0xee)](_0x413733(0xd2))||_0x527a63[_0x413733(0xee)](_0x413733(0x9e)))return;throw kbError(_0x413733(0xe3),_0x413733(0xe5),'Run\x20the\x20same\x20command\x20with\x20--dry-run\x20first,\x20then\x20add\x20--yes\x20after\x20reviewing\x20the\x20plan.');}function sha256(_0x4cdea0){const _0x26eb24=a123_0x929761;return _0x26eb24(0xae)+createHash(_0x26eb24(0xf0))[_0x26eb24(0xc0)](_0x4cdea0)[_0x26eb24(0xc7)](_0x26eb24(0xd1));}export function inspectKbContent(_0x9a966){const _0x18d528=a123_0x929761,_0x40bb84=Buffer[_0x18d528(0xf8)](_0x9a966,_0x18d528(0xe7));return{'content':_0x9a966,'byteSize':_0x40bb84[_0x18d528(0xe1)],'contentHash':sha256(_0x40bb84)};}export async function readKbFile(_0x23dc79){const _0x192bca=a123_0x929761,_0x2181a8=_0x23dc79[_0x192bca(0xa1)]();if(!_0x2181a8)throw kbError(_0x192bca(0xc3),_0x192bca(0x9f),_0x192bca(0xc4));const _0x138efd=resolve(_0x2181a8);let _0x51f5ab;try{_0x51f5ab=await stat(_0x138efd);}catch(_0x32b1e2){throw kbError(_0x192bca(0xe4),_0x192bca(0xeb)+_0x2181a8,_0x32b1e2 instanceof Error?_0x32b1e2['message']:String(_0x32b1e2));}if(!_0x51f5ab['isFile']())throw kbError(_0x192bca(0xba),_0x192bca(0xbc)+_0x2181a8);let _0x56ea49;try{_0x56ea49=await readFile(_0x138efd);}catch(_0x172852){throw kbError('kb_file_unreadable','Cannot\x20read\x20knowledge-base\x20content\x20file:\x20'+_0x2181a8,_0x172852 instanceof Error?_0x172852[_0x192bca(0xb3)]:String(_0x172852));}let _0x130033;try{_0x130033=new TextDecoder(_0x192bca(0xe2),{'fatal':!![],'ignoreBOM':!![]})[_0x192bca(0xaf)](_0x56ea49);}catch{throw kbError(_0x192bca(0xa3),_0x192bca(0xa4)+_0x2181a8);}if(!_0x130033[_0x192bca(0xa1)]())throw kbError(_0x192bca(0xa3),'Knowledge-base\x20content\x20file\x20is\x20blank:\x20'+_0x2181a8);return inspectKbContent(_0x130033);}export async function verifyKbMutationReadback(_0x18cdca,_0x2d3652,_0x500ef1){const _0x5d1034=a123_0x929761;try{return await _0x500ef1();}catch(_0x138f3b){const _0x18fa13=kbError(_0x5d1034(0xb2)+_0x18cdca+'_'+(_0x2d3652?_0x5d1034(0xa0):_0x5d1034(0xc1)),_0x5d1034(0xaa)+_0x18cdca+_0x5d1034(0xbe),'Do\x20not\x20resubmit\x20automatically.\x20Resolve\x20the\x20app\x20again\x20and\x20inspect\x20the\x20target\x20state\x20manually.');Object[_0x5d1034(0xd8)](_0x18fa13,_0x5d1034(0xb7),{'value':_0x138f3b,'enumerable':![]});throw _0x18fa13;}}function requireRecordText(_0x19c606,_0x37b5d7,_0xdfa103,_0x5672c5={}){const _0x377586=a123_0x929761;if(typeof _0x19c606===_0x377586(0xa9)&&(_0x5672c5[_0x377586(0xc6)]||_0x19c606[_0x377586(0xa1)]()))return _0x19c606;throw kbError(_0x377586(0xd9),_0x377586(0xbd)+String(_0xdfa103)+_0x377586(0xcb)+_0x37b5d7+'.');}export function projectKb(_0x45998b){const _0x3d2f5e=a123_0x929761;if(!Number[_0x3d2f5e(0xed)](_0x45998b['id'])||_0x45998b['id']<=0x0)throw kbError(_0x3d2f5e(0xd9),_0x3d2f5e(0xbf));if(!Number['isSafeInteger'](_0x45998b[_0x3d2f5e(0xcf)])||_0x45998b['version']<0x0)throw kbError(_0x3d2f5e(0xd9),_0x3d2f5e(0xbd)+_0x45998b['id']+'\x20response\x20contains\x20an\x20invalid\x20version.');if(_0x45998b[_0x3d2f5e(0xd3)]!==_0x3d2f5e(0xf9))throw kbError(_0x3d2f5e(0xb6),_0x3d2f5e(0xbd)+_0x45998b['id']+_0x3d2f5e(0xea));const _0x36894b=requireRecordText(_0x45998b[_0x3d2f5e(0xd7)],_0x3d2f5e(0xd7),_0x45998b['id']),_0x39bd4f=requireRecordText(_0x45998b[_0x3d2f5e(0xef)],_0x3d2f5e(0xef),_0x45998b['id']),_0x4a1c57=inspectKbContent(requireRecordText(_0x45998b[_0x3d2f5e(0xa2)],_0x3d2f5e(0xa2),_0x45998b['id'],{'allowEmpty':!![]})),_0x3aca1f=typeof _0x45998b['createTime']===_0x3d2f5e(0xa9)||typeof _0x45998b['createTime']===_0x3d2f5e(0xda)?_0x45998b[_0x3d2f5e(0xf7)]:undefined,_0x374d92=typeof _0x45998b[_0x3d2f5e(0xe9)]===_0x3d2f5e(0xa9)||typeof _0x45998b['updateTime']===_0x3d2f5e(0xda)?_0x45998b[_0x3d2f5e(0xe9)]:undefined,_0x34a818=sha256(JSON[_0x3d2f5e(0xd5)]({'id':_0x45998b['id'],'scope':_0x45998b[_0x3d2f5e(0xd3)],'appCode':_0x36894b,'title':_0x39bd4f,'version':_0x45998b[_0x3d2f5e(0xcf)],'contentHash':_0x4a1c57[_0x3d2f5e(0xdd)],'createTime':_0x3aca1f,'updateTime':_0x374d92}));return{'id':_0x45998b['id'],'scope':'company','appCode':_0x36894b,'title':_0x39bd4f,'version':_0x45998b[_0x3d2f5e(0xcf)],'contentByteSize':_0x4a1c57[_0x3d2f5e(0xb0)],'contentHash':_0x4a1c57['contentHash'],'snapshotHash':_0x34a818,..._0x3aca1f!==undefined?{'createTime':_0x3aca1f}:{},..._0x374d92!==undefined?{'updateTime':_0x374d92}:{}};}function a123_0x2d06(){const _0x37c003=['push','cookie','kb_file_invalid','306','Knowledge-base\x20content\x20path\x20is\x20not\x20a\x20regular\x20file:\x20','Knowledge\x20base\x20','\x20request\x20was\x20sent,\x20but\x20its\x20final\x20company\x20knowledge-base\x20state\x20could\x20not\x20be\x20verified.','Knowledge-base\x20response\x20contains\x20an\x20invalid\x20id.','update','verification_unavailable','\x20was\x20requested.','kb_file_required','Pass\x20--file\x20<knowledge.md>.','4918193PPswQj','allowEmpty','digest','filter','add','8PJVzdC','\x20response\x20is\x20missing\x20','\x20of\x20','52Nnngiv','has','version','8810091wfelJQ','hex','dry-run','scope','115bPZcib','stringify','3yqTzqS','appCode','defineProperty','kb_response_invalid','number','Knowledge-base\x20list\x20stopped\x20at\x20','paging','contentHash','8503nlNyvx','kb_list_contract_invalid','Knowledge-base\x20list\x20total\x20changed\x20from\x20','byteLength','utf-8','kb_confirmation_required','kb_file_unreadable','This\x20company\x20knowledge-base\x20mutation\x20requires\x20explicit\x20--yes.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20version\x20before\x20retrying.','utf8','2434913PlEJAA','updateTime','\x20is\x20not\x20company-scoped.','Cannot\x20access\x20knowledge-base\x20content\x20file:\x20','kb_id_invalid','isSafeInteger','bool','title','sha256','\x20to\x20','currentPage','Knowledge-base\x20list\x20returned\x20an\x20invalid\x20or\x20repeated\x20id:\x20','354486YBuwTA','300vFEUva','totalCount','createTime','from','company','\x20during\x20paging.','num','yes','Knowledge-base\x20content\x20file\x20path\x20is\x20required.','outcome_unknown','trim','content','kb_content_invalid','Knowledge-base\x20content\x20file\x20is\x20not\x20valid\x20UTF-8:\x20','Run\x20`rabetbase\x20kb\x20list\x20--format\x20compress`\x20to\x20inspect\x20the\x20resolved\x20app.',',\x20current\x20','Company\x20knowledge\x20base\x20not\x20found:\x20','length','string','The\x20','3248548MRGygp','--id\x20must\x20be\x20a\x20positive\x20safe\x20integer.','21620OBLLiC','sha256:','decode','byteSize','38449hjJQyY','kb_','message','Knowledge-base\x20get-one\x20returned\x20id\x20','Retry\x20the\x20read\x20after\x20concurrent\x20updates\x20have\x20settled.','kb_scope_mismatch','cause'];a123_0x2d06=function(){return _0x37c003;};return a123_0x2d06();}export function assertCompanyKnowledgeBase(_0x199932,_0x17a740,_0x128e2e){const _0x5b469a=a123_0x929761;if(_0x128e2e!==undefined&&_0x199932['id']!==_0x128e2e)throw kbError(_0x5b469a(0xd9),_0x5b469a(0xb4)+_0x199932['id']+'\x20while\x20id\x20'+_0x128e2e+'\x20was\x20requested.');if(_0x199932[_0x5b469a(0xd3)]!=='company'||_0x199932[_0x5b469a(0xd7)]!==_0x17a740)throw kbError(_0x5b469a(0xb6),_0x5b469a(0xbd)+_0x199932['id']+'\x20does\x20not\x20belong\x20to\x20company\x20scope\x20for\x20app\x20'+_0x17a740+'.');}export async function fetchAllCompanyKnowledgeBases(_0x2fd96e,_0x5ba4de){const _0x144ef8=a123_0x929761,_0x1d5391=[],_0x5f78b5=new Set();let _0x48fa10=0x1,_0x5aff85=0x0,_0x4dcda4;while(!![]){const _0x3f2b6a=await listEnterpriseKnowledgeBases(_0x2fd96e['cookie'],{'currentPage':_0x48fa10,'pageSize':LIST_PAGE_SIZE,'appCode':_0x2fd96e[_0x144ef8(0xd7)],..._0x5ba4de}),_0x244900=_0x3f2b6a[_0x144ef8(0xdc)]?.[_0x144ef8(0xf6)];if(_0x3f2b6a[_0x144ef8(0xdc)]?.[_0x144ef8(0xf2)]!==undefined&&_0x3f2b6a[_0x144ef8(0xdc)][_0x144ef8(0xf2)]!==_0x48fa10)throw kbError('kb_list_contract_invalid','Knowledge-base\x20list\x20returned\x20page\x20'+_0x3f2b6a['paging']['currentPage']+'\x20while\x20page\x20'+_0x48fa10+_0x144ef8(0xc2));if(_0x244900!==undefined){if(_0x4dcda4!==undefined&&_0x244900!==_0x4dcda4)throw kbError('kb_list_contract_invalid',_0x144ef8(0xe0)+_0x4dcda4+_0x144ef8(0xf1)+_0x244900+_0x144ef8(0xfa),_0x144ef8(0xb5));_0x4dcda4=_0x244900;}for(const _0x1767ae of _0x3f2b6a['items']){if(!Number[_0x144ef8(0xed)](_0x1767ae['id'])||_0x5f78b5[_0x144ef8(0xce)](_0x1767ae['id']))throw kbError('kb_list_contract_invalid',_0x144ef8(0xf3)+String(_0x1767ae['id'])+'.');_0x5f78b5[_0x144ef8(0xc9)](_0x1767ae['id']),_0x1767ae[_0x144ef8(0xd3)]===_0x144ef8(0xf9)&&_0x1767ae[_0x144ef8(0xd7)]===_0x2fd96e[_0x144ef8(0xd7)]&&_0x1d5391[_0x144ef8(0xb8)](_0x1767ae);}_0x5aff85+=_0x3f2b6a['items'][_0x144ef8(0xa8)];if(_0x244900!==undefined&&_0x5aff85>=_0x244900)break;if(_0x3f2b6a['items']['length']<LIST_PAGE_SIZE){if(_0x244900!==undefined&&_0x5aff85<_0x244900)throw kbError(_0x144ef8(0xdf),_0x144ef8(0xdb)+_0x5aff85+_0x144ef8(0xcc)+_0x244900+'\x20records.');break;}_0x48fa10+=0x1;}return _0x1d5391;}export function findExactCompanyKnowledgeBases(_0x2339fa,_0x259f57,_0xa70626){const _0x1c46bb=a123_0x929761;return _0x2339fa[_0x1c46bb(0xc8)](_0x52629f=>_0x52629f[_0x1c46bb(0xd3)]===_0x1c46bb(0xf9)&&_0x52629f[_0x1c46bb(0xd7)]===_0x259f57&&_0x52629f['title']===_0xa70626);}export async function getKbOrNull(_0x5c6f05,_0x4a602c){const _0x5babfc=a123_0x929761;try{const _0x2462db=await getEnterpriseKnowledgeBase(_0x5c6f05[_0x5babfc(0xb9)],_0x4a602c);return assertCompanyKnowledgeBase(_0x2462db,_0x5c6f05[_0x5babfc(0xd7)],_0x4a602c),_0x2462db;}catch(_0x451209){if(getPlatformErrorCode(_0x451209)===DATA_NOT_EXIST_ERROR_CODE)return null;throw _0x451209;}}export async function requireKb(_0x302708,_0x396d2d){const _0x31ec82=a123_0x929761,_0x15115b=await getKbOrNull(_0x302708,_0x396d2d);if(!_0x15115b)throw kbError('kb_not_found',_0x31ec82(0xa7)+_0x396d2d,_0x31ec82(0xa5));return _0x15115b;}export function assertExpectedKbVersion(_0x47dc86,_0x220981){const _0x13f354=a123_0x929761;if(_0x220981===undefined||_0x47dc86['version']===_0x220981)return;throw kbError('kb_state_drift',_0x13f354(0xbd)+_0x47dc86['id']+'\x20version\x20changed:\x20expected\x20'+_0x220981+_0x13f354(0xa6)+_0x47dc86[_0x13f354(0xcf)]+'.',_0x13f354(0xe6));}
|
|
1
|
+
const a147_0x2f013e=a147_0x483a;(function(_0x4084c0,_0x1dd94d){const _0x241869=a147_0x483a,_0x4eba8=_0x4084c0();while(!![]){try{const _0x554e4e=-parseInt(_0x241869(0x104))/0x1+parseInt(_0x241869(0x11e))/0x2+-parseInt(_0x241869(0x14c))/0x3*(-parseInt(_0x241869(0x14f))/0x4)+parseInt(_0x241869(0x135))/0x5*(parseInt(_0x241869(0x147))/0x6)+-parseInt(_0x241869(0x133))/0x7*(parseInt(_0x241869(0x13b))/0x8)+-parseInt(_0x241869(0x138))/0x9*(parseInt(_0x241869(0x114))/0xa)+-parseInt(_0x241869(0x11a))/0xb*(-parseInt(_0x241869(0x149))/0xc);if(_0x554e4e===_0x1dd94d)break;else _0x4eba8['push'](_0x4eba8['shift']());}catch(_0x370f6b){_0x4eba8['push'](_0x4eba8['shift']());}}}(a147_0x566a,0xa8a2d));import{createHash}from'node:crypto';import{readFile,stat}from'node:fs/promises';function a147_0x483a(_0x127f6d,_0xb833ff){_0x127f6d=_0x127f6d-0x104;const _0x566a05=a147_0x566a();let _0x483ae2=_0x566a05[_0x127f6d];return _0x483ae2;}import{resolve}from'node:path';import{TextDecoder}from'node:util';import{getEnterpriseKnowledgeBase,getPlatformErrorCode,listEnterpriseKnowledgeBases}from'../../core/api-client.js';import{CliError}from'../../errors.js';const LIST_PAGE_SIZE=0x32,DATA_NOT_EXIST_ERROR_CODE=a147_0x2f013e(0x10d);export function kbError(_0x4cbe0b,_0x237c86,_0x425e52){return new CliError(_0x4cbe0b,0x1,_0x237c86,_0x425e52);}export function readKbId(_0x261760){const _0x30426a=a147_0x2f013e,_0x109415=_0x261760[_0x30426a(0x121)]('id');if(!Number[_0x30426a(0x115)](_0x109415)||_0x109415<=0x0)throw kbError(_0x30426a(0x145),'--id\x20must\x20be\x20a\x20positive\x20safe\x20integer.');return _0x109415;}export function requireKbExplicitYes(_0x19d53a){const _0x14ea89=a147_0x2f013e;if(_0x19d53a[_0x14ea89(0x118)](_0x14ea89(0x13f))||_0x19d53a[_0x14ea89(0x118)](_0x14ea89(0x11f)))return;throw kbError('kb_confirmation_required',_0x14ea89(0x11c),'Run\x20the\x20same\x20command\x20with\x20--dry-run\x20first,\x20then\x20add\x20--yes\x20after\x20reviewing\x20the\x20plan.');}function sha256(_0x42a5c1){const _0x13a381=a147_0x2f013e;return _0x13a381(0x119)+createHash('sha256')[_0x13a381(0x117)](_0x42a5c1)[_0x13a381(0x107)]('hex');}export function inspectKbContent(_0x27baaa){const _0x1fb26a=a147_0x2f013e,_0x2e112e=Buffer['from'](_0x27baaa,'utf8');return{'content':_0x27baaa,'byteSize':_0x2e112e[_0x1fb26a(0x13a)],'contentHash':sha256(_0x2e112e)};}export async function readKbFile(_0x25745a){const _0x46b47c=a147_0x2f013e,_0x3a795b=_0x25745a['trim']();if(!_0x3a795b)throw kbError(_0x46b47c(0x14e),'Knowledge-base\x20content\x20file\x20path\x20is\x20required.',_0x46b47c(0x141));const _0x371c6b=resolve(_0x3a795b);let _0x31ecd2;try{_0x31ecd2=await stat(_0x371c6b);}catch(_0x45d059){throw kbError(_0x46b47c(0x154),_0x46b47c(0x12c)+_0x3a795b,_0x45d059 instanceof Error?_0x45d059[_0x46b47c(0x129)]:String(_0x45d059));}if(!_0x31ecd2[_0x46b47c(0x156)]())throw kbError('kb_file_invalid','Knowledge-base\x20content\x20path\x20is\x20not\x20a\x20regular\x20file:\x20'+_0x3a795b);let _0x438ed8;try{_0x438ed8=await readFile(_0x371c6b);}catch(_0x25dca6){throw kbError('kb_file_unreadable',_0x46b47c(0x155)+_0x3a795b,_0x25dca6 instanceof Error?_0x25dca6[_0x46b47c(0x129)]:String(_0x25dca6));}let _0x3c7a51;try{_0x3c7a51=new TextDecoder(_0x46b47c(0x13c),{'fatal':!![],'ignoreBOM':!![]})[_0x46b47c(0x140)](_0x438ed8);}catch{throw kbError(_0x46b47c(0x127),'Knowledge-base\x20content\x20file\x20is\x20not\x20valid\x20UTF-8:\x20'+_0x3a795b);}if(!_0x3c7a51[_0x46b47c(0x111)]())throw kbError(_0x46b47c(0x127),_0x46b47c(0x122)+_0x3a795b);return inspectKbContent(_0x3c7a51);}function a147_0x566a(){const _0x58625e=['add','number','dry-run','decode','Pass\x20--file\x20<knowledge.md>.','contentHash',',\x20current\x20','\x20response\x20contains\x20an\x20invalid\x20version.','kb_id_invalid','\x20records.','18YTyRqo','kb_response_invalid','672iGVbTW','company','totalCount','135852mbTIPN','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20version\x20before\x20retrying.','kb_file_required','4LxWzwA','title','\x20response\x20is\x20missing\x20','createTime','\x20is\x20not\x20company-scoped.','kb_file_unreadable','Cannot\x20read\x20knowledge-base\x20content\x20file:\x20','isFile','188874CysSNi','byteSize','kb_list_contract_invalid','digest','items','currentPage','Company\x20knowledge\x20base\x20not\x20found:\x20','paging','filter','306','defineProperty','length','kb_','trim','\x20was\x20requested.','kb_scope_mismatch','830LMVOOS','isSafeInteger','appCode','update','bool','sha256:','114180WixqeG','\x20of\x20','This\x20company\x20knowledge-base\x20mutation\x20requires\x20explicit\x20--yes.','Knowledge\x20base\x20','2437220RxNIzM','yes','\x20while\x20id\x20','num','Knowledge-base\x20content\x20file\x20is\x20blank:\x20','has','allowEmpty','Knowledge-base\x20list\x20returned\x20an\x20invalid\x20or\x20repeated\x20id:\x20','\x20request\x20was\x20sent,\x20but\x20its\x20final\x20company\x20knowledge-base\x20state\x20could\x20not\x20be\x20verified.','kb_content_invalid','string','message','content','verification_unavailable','Cannot\x20access\x20knowledge-base\x20content\x20file:\x20','\x20does\x20not\x20belong\x20to\x20company\x20scope\x20for\x20app\x20','version','Knowledge-base\x20list\x20stopped\x20at\x20','updateTime','cause','stringify','272237hxBKgG','Knowledge-base\x20get-one\x20returned\x20id\x20','2288995XdneuA','push','\x20version\x20changed:\x20expected\x20','139761pPaeaG','scope','byteLength','216WLCBGF','utf-8'];a147_0x566a=function(){return _0x58625e;};return a147_0x566a();}export async function verifyKbMutationReadback(_0x4bdfb0,_0x74f1bb,_0x2bf7d8){const _0x594086=a147_0x2f013e;try{return await _0x2bf7d8();}catch(_0x314437){const _0x131932=kbError(_0x594086(0x110)+_0x4bdfb0+'_'+(_0x74f1bb?'outcome_unknown':_0x594086(0x12b)),'The\x20'+_0x4bdfb0+_0x594086(0x126),'Do\x20not\x20resubmit\x20automatically.\x20Resolve\x20the\x20app\x20again\x20and\x20inspect\x20the\x20target\x20state\x20manually.');Object[_0x594086(0x10e)](_0x131932,_0x594086(0x131),{'value':_0x314437,'enumerable':![]});throw _0x131932;}}function requireRecordText(_0x3f116,_0x17d2a3,_0x1c0a73,_0x1a0d12={}){const _0x264e17=a147_0x2f013e;if(typeof _0x3f116===_0x264e17(0x128)&&(_0x1a0d12[_0x264e17(0x124)]||_0x3f116['trim']()))return _0x3f116;throw kbError('kb_response_invalid',_0x264e17(0x11d)+String(_0x1c0a73)+_0x264e17(0x151)+_0x17d2a3+'.');}export function projectKb(_0x570d86){const _0x4fdbcd=a147_0x2f013e;if(!Number[_0x4fdbcd(0x115)](_0x570d86['id'])||_0x570d86['id']<=0x0)throw kbError(_0x4fdbcd(0x148),'Knowledge-base\x20response\x20contains\x20an\x20invalid\x20id.');if(!Number[_0x4fdbcd(0x115)](_0x570d86['version'])||_0x570d86[_0x4fdbcd(0x12e)]<0x0)throw kbError(_0x4fdbcd(0x148),_0x4fdbcd(0x11d)+_0x570d86['id']+_0x4fdbcd(0x144));if(_0x570d86[_0x4fdbcd(0x139)]!=='company')throw kbError(_0x4fdbcd(0x113),_0x4fdbcd(0x11d)+_0x570d86['id']+_0x4fdbcd(0x153));const _0x417ef7=requireRecordText(_0x570d86[_0x4fdbcd(0x116)],_0x4fdbcd(0x116),_0x570d86['id']),_0x5a3beb=requireRecordText(_0x570d86[_0x4fdbcd(0x150)],'title',_0x570d86['id']),_0x37ba94=inspectKbContent(requireRecordText(_0x570d86[_0x4fdbcd(0x12a)],'content',_0x570d86['id'],{'allowEmpty':!![]})),_0x3a3464=typeof _0x570d86[_0x4fdbcd(0x152)]===_0x4fdbcd(0x128)||typeof _0x570d86['createTime']===_0x4fdbcd(0x13e)?_0x570d86[_0x4fdbcd(0x152)]:undefined,_0x5601dd=typeof _0x570d86['updateTime']==='string'||typeof _0x570d86[_0x4fdbcd(0x130)]===_0x4fdbcd(0x13e)?_0x570d86[_0x4fdbcd(0x130)]:undefined,_0x2c220a=sha256(JSON[_0x4fdbcd(0x132)]({'id':_0x570d86['id'],'scope':_0x570d86[_0x4fdbcd(0x139)],'appCode':_0x417ef7,'title':_0x5a3beb,'version':_0x570d86[_0x4fdbcd(0x12e)],'contentHash':_0x37ba94[_0x4fdbcd(0x142)],'createTime':_0x3a3464,'updateTime':_0x5601dd}));return{'id':_0x570d86['id'],'scope':_0x4fdbcd(0x14a),'appCode':_0x417ef7,'title':_0x5a3beb,'version':_0x570d86[_0x4fdbcd(0x12e)],'contentByteSize':_0x37ba94[_0x4fdbcd(0x105)],'contentHash':_0x37ba94[_0x4fdbcd(0x142)],'snapshotHash':_0x2c220a,..._0x3a3464!==undefined?{'createTime':_0x3a3464}:{},..._0x5601dd!==undefined?{'updateTime':_0x5601dd}:{}};}export function assertCompanyKnowledgeBase(_0x1b0533,_0x37a120,_0x90132f){const _0x126906=a147_0x2f013e;if(_0x90132f!==undefined&&_0x1b0533['id']!==_0x90132f)throw kbError(_0x126906(0x148),_0x126906(0x134)+_0x1b0533['id']+_0x126906(0x120)+_0x90132f+_0x126906(0x112));if(_0x1b0533[_0x126906(0x139)]!==_0x126906(0x14a)||_0x1b0533[_0x126906(0x116)]!==_0x37a120)throw kbError('kb_scope_mismatch',_0x126906(0x11d)+_0x1b0533['id']+_0x126906(0x12d)+_0x37a120+'.');}export async function fetchAllCompanyKnowledgeBases(_0x1527fa,_0x1ab6b7){const _0x17808e=a147_0x2f013e,_0x240558=[],_0x133d94=new Set();let _0x5870c1=0x1,_0x2c7699=0x0,_0x5c141c;while(!![]){const _0x476d43=await listEnterpriseKnowledgeBases(_0x1527fa['cookie'],{'currentPage':_0x5870c1,'pageSize':LIST_PAGE_SIZE,'appCode':_0x1527fa[_0x17808e(0x116)],..._0x1ab6b7}),_0x473bfe=_0x476d43['paging']?.[_0x17808e(0x14b)];if(_0x476d43[_0x17808e(0x10b)]?.['currentPage']!==undefined&&_0x476d43[_0x17808e(0x10b)][_0x17808e(0x109)]!==_0x5870c1)throw kbError('kb_list_contract_invalid','Knowledge-base\x20list\x20returned\x20page\x20'+_0x476d43[_0x17808e(0x10b)][_0x17808e(0x109)]+'\x20while\x20page\x20'+_0x5870c1+_0x17808e(0x112));if(_0x473bfe!==undefined){if(_0x5c141c!==undefined&&_0x473bfe!==_0x5c141c)throw kbError('kb_list_contract_invalid','Knowledge-base\x20list\x20total\x20changed\x20from\x20'+_0x5c141c+'\x20to\x20'+_0x473bfe+'\x20during\x20paging.','Retry\x20the\x20read\x20after\x20concurrent\x20updates\x20have\x20settled.');_0x5c141c=_0x473bfe;}for(const _0x13a502 of _0x476d43['items']){if(!Number[_0x17808e(0x115)](_0x13a502['id'])||_0x133d94[_0x17808e(0x123)](_0x13a502['id']))throw kbError(_0x17808e(0x106),_0x17808e(0x125)+String(_0x13a502['id'])+'.');_0x133d94[_0x17808e(0x13d)](_0x13a502['id']),_0x13a502['scope']===_0x17808e(0x14a)&&_0x13a502[_0x17808e(0x116)]===_0x1527fa['appCode']&&_0x240558[_0x17808e(0x136)](_0x13a502);}_0x2c7699+=_0x476d43['items']['length'];if(_0x473bfe!==undefined&&_0x2c7699>=_0x473bfe)break;if(_0x476d43[_0x17808e(0x108)][_0x17808e(0x10f)]<LIST_PAGE_SIZE){if(_0x473bfe!==undefined&&_0x2c7699<_0x473bfe)throw kbError('kb_list_contract_invalid',_0x17808e(0x12f)+_0x2c7699+_0x17808e(0x11b)+_0x473bfe+_0x17808e(0x146));break;}_0x5870c1+=0x1;}return _0x240558;}export function findExactCompanyKnowledgeBases(_0x136700,_0x235f4c,_0x1f4b23){const _0x9656c9=a147_0x2f013e;return _0x136700[_0x9656c9(0x10c)](_0x2f01f5=>_0x2f01f5['scope']===_0x9656c9(0x14a)&&_0x2f01f5[_0x9656c9(0x116)]===_0x235f4c&&_0x2f01f5['title']===_0x1f4b23);}export async function getKbOrNull(_0x3654f9,_0x1dd8b9){const _0x24dc46=a147_0x2f013e;try{const _0x1baff7=await getEnterpriseKnowledgeBase(_0x3654f9['cookie'],_0x1dd8b9);return assertCompanyKnowledgeBase(_0x1baff7,_0x3654f9[_0x24dc46(0x116)],_0x1dd8b9),_0x1baff7;}catch(_0x35ecca){if(getPlatformErrorCode(_0x35ecca)===DATA_NOT_EXIST_ERROR_CODE)return null;throw _0x35ecca;}}export async function requireKb(_0x375d37,_0x32aef7){const _0x4b8f32=a147_0x2f013e,_0x144822=await getKbOrNull(_0x375d37,_0x32aef7);if(!_0x144822)throw kbError('kb_not_found',_0x4b8f32(0x10a)+_0x32aef7,'Run\x20`rabetbase\x20kb\x20list\x20--format\x20compress`\x20to\x20inspect\x20the\x20resolved\x20app.');return _0x144822;}export function assertExpectedKbVersion(_0xbd3e3a,_0x10ec01){const _0x1fbad3=a147_0x2f013e;if(_0x10ec01===undefined||_0xbd3e3a['version']===_0x10ec01)return;throw kbError('kb_state_drift',_0x1fbad3(0x11d)+_0xbd3e3a['id']+_0x1fbad3(0x137)+_0x10ec01+_0x1fbad3(0x143)+_0xbd3e3a['version']+'.',_0x1fbad3(0x14d));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a148_0x1f6689=a148_0x590b;(function(_0x253889,_0x1e5a59){const _0x354d02=a148_0x590b,_0x5561a7=_0x253889();while(!![]){try{const _0x57d74f=parseInt(_0x354d02(0x193))/0x1+parseInt(_0x354d02(0x184))/0x2*(-parseInt(_0x354d02(0x1b0))/0x3)+-parseInt(_0x354d02(0x192))/0x4+-parseInt(_0x354d02(0x19d))/0x5+-parseInt(_0x354d02(0x18c))/0x6*(parseInt(_0x354d02(0x1a1))/0x7)+parseInt(_0x354d02(0x182))/0x8+parseInt(_0x354d02(0x1ad))/0x9*(parseInt(_0x354d02(0x1a4))/0xa);if(_0x57d74f===_0x1e5a59)break;else _0x5561a7['push'](_0x5561a7['shift']());}catch(_0x74bdaa){_0x5561a7['push'](_0x5561a7['shift']());}}}(a148_0x52f4,0x4c6f2));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='/admin/knowledge-base/update',NON_ATOMIC_WARNING='--expected-version\x20is\x20a\x20non-atomic\x20read-before-write\x20assertion;\x20the\x20server\x20update\x20contract\x20has\x20no\x20version\x20predicate.';function readUpdatePatch(_0x42ce8f){const _0x30202e=a148_0x590b,_0x2d25a3=readKbId(_0x42ce8f),_0x5857ae=_0x42ce8f[_0x30202e(0x18d)](_0x30202e(0x1a5)),_0x5daec2=_0x42ce8f['flag'](_0x30202e(0x18e)),_0x101a78=_0x42ce8f[_0x30202e(0x18d)]('expected-version'),_0x5bf0ea=_0x5857ae===undefined?undefined:String(_0x5857ae)['trim']();if(_0x5857ae!==undefined&&!_0x5bf0ea)throw kbError(_0x30202e(0x1a6),_0x30202e(0x19a));const _0x1a889d=_0x5daec2===undefined?undefined:String(_0x5daec2)[_0x30202e(0x183)]();if(_0x5daec2!==undefined&&!_0x1a889d)throw kbError(_0x30202e(0x1a2),_0x30202e(0x188));if(_0x5bf0ea===undefined&&_0x1a889d===undefined)throw kbError(_0x30202e(0x1af),_0x30202e(0x1a9),_0x30202e(0x1ab));let _0x4fc4d2;if(_0x101a78!==undefined){_0x4fc4d2=Number(_0x101a78);if(!Number['isSafeInteger'](_0x4fc4d2)||_0x4fc4d2<0x0)throw kbError(_0x30202e(0x197),'--expected-version\x20must\x20be\x20a\x20non-negative\x20safe\x20integer.');}return{'id':_0x2d25a3,'title':_0x5bf0ea,'file':_0x1a889d,'expectedVersion':_0x4fc4d2};}function a148_0x590b(_0x192276,_0x3ea898){_0x192276=_0x192276-0x17f;const _0x52f480=a148_0x52f4();let _0x590bb3=_0x52f480[_0x192276];return _0x590bb3;}function a148_0x52f4(){const _0x5a3eb=['1469140jJtoUF','367490ZgxiTO','push','Inspect\x20it\x20with\x20`rabetbase\x20kb\x20detail\x20--id\x20','cookie','kb_expected_version_invalid','\x20--format\x20compress`;\x20do\x20not\x20resubmit\x20automatically.','Replacement\x20UTF-8\x20text\x20or\x20Markdown\x20content\x20file','--title\x20cannot\x20be\x20empty.','Update\x20a\x20company\x20knowledge\x20base\x20with\x20preflight\x20drift\x20protection','version','377225zFnmuL','patch','company','write','287wmOXWd','kb_file_required','snapshotHash','13220110zFVPNf','title','kb_title_invalid','content','\x20--format\x20compress','Nothing\x20to\x20update.','New\x20knowledge-base\x20title','Pass\x20at\x20least\x20one\x20of\x20--title\x20or\x20--file.','POST','9VpUcau','\x20does\x20not\x20prove\x20the\x20requested\x20update\x20state.','kb_update_empty','12783HVJohu','update','string','expectedVersion','before','appCode','1114400wvczku','trim','228CTZRmU','contentHash','kb_verification_failed','Company\x20knowledge-base\x20id','--file\x20cannot\x20be\x20empty.','expected-version','rabetbase\x20kb\x20detail\x20--id\x20','Update\x20response\x20was\x20unavailable;\x20verified\x20applicable\x20postconditions\x20by\x20exact\x20ID\x20without\x20resubmitting.','85938Wnlxus','flag','file','replacement','Updated\x20company\x20knowledge\x20base\x20','beforeRecord'];a148_0x52f4=function(){return _0x5a3eb;};return a148_0x52f4();}async function prepareUpdate(_0x181aec){const _0x4dcf0f=a148_0x590b,_0x55ed04=readUpdatePatch(_0x181aec),_0x51384e=await requireKb(_0x181aec,_0x55ed04['id']);assertExpectedKbVersion(_0x51384e,_0x55ed04[_0x4dcf0f(0x17f)]);const _0x1dc31c=_0x55ed04['file']?await readKbFile(_0x55ed04[_0x4dcf0f(0x18e)]):undefined,_0x20ca27=projectKb(_0x51384e),_0x22adfc=projectKb({..._0x51384e,..._0x55ed04[_0x4dcf0f(0x1a5)]!==undefined?{'title':_0x55ed04[_0x4dcf0f(0x1a5)]}:{},..._0x1dc31c?{'content':_0x1dc31c[_0x4dcf0f(0x1a7)]}:{}});return{'patch':_0x55ed04,'beforeRecord':_0x51384e,'before':_0x20ca27,'planned':_0x22adfc,'replacement':_0x1dc31c};}export const kbUpdate={'service':'kb','command':'update','description':a148_0x1f6689(0x19b),'risk':a148_0x1f6689(0x1a0),'requiresAppCode':!![],'structuredErrors':!![],'flags':[{'name':'id','type':'number','required':!![],'description':a148_0x1f6689(0x187)},{'name':a148_0x1f6689(0x1a5),'type':a148_0x1f6689(0x1b2),'required':![],'description':a148_0x1f6689(0x1aa)},{'name':'file','type':a148_0x1f6689(0x1b2),'required':![],'description':a148_0x1f6689(0x199)},{'name':a148_0x1f6689(0x189),'type':'number','required':![],'description':'Non-atomic\x20preflight\x20assertion\x20for\x20the\x20current\x20version'}],async 'validate'(_0x595630){readUpdatePatch(_0x595630);},async 'dryRun'(_0x5dc6df){const _0xec4dbf=a148_0x1f6689,_0x19a249=await prepareUpdate(_0x5dc6df),_0x2ed9a3=_0x19a249['patch'][_0xec4dbf(0x17f)]!==undefined?[NON_ATOMIC_WARNING]:[];return asDryRunResult({'operation':'update','selector':{'id':_0x19a249[_0xec4dbf(0x180)]['id'],'scope':_0xec4dbf(0x19f),'appCode':_0x19a249[_0xec4dbf(0x180)]['appCode']},'before':_0x19a249[_0xec4dbf(0x180)],'after':_0x19a249['planned'],'dryRun':!![],'backend':{'method':_0xec4dbf(0x1ac),'path':UPDATE_PATH},'warnings':_0x2ed9a3,'verification':{'expectedVersion':_0x19a249[_0xec4dbf(0x19e)][_0xec4dbf(0x17f)]??null,'atomicCompareAndSet':![],'plannedSnapshotHash':_0x19a249[_0xec4dbf(0x180)][_0xec4dbf(0x1a3)],'lookupCommand':_0xec4dbf(0x18a)+_0x19a249[_0xec4dbf(0x180)]['id']+_0xec4dbf(0x1a8)}},{'method':_0xec4dbf(0x1ac),'url':UPDATE_PATH});},async 'execute'(_0x4c66fa){const _0x20d743=a148_0x1f6689,_0x514c17=await prepareUpdate(_0x4c66fa),_0x2da26e={'id':_0x514c17[_0x20d743(0x19e)]['id'],..._0x514c17[_0x20d743(0x19e)][_0x20d743(0x1a5)]!==undefined?{'title':_0x514c17[_0x20d743(0x19e)][_0x20d743(0x1a5)]}:{},..._0x514c17[_0x20d743(0x18f)]?{'content':_0x514c17[_0x20d743(0x18f)][_0x20d743(0x1a7)]}:{}};let _0x24d7bf=![];try{const _0x5bda6a=await updateEnterpriseKnowledgeBase(_0x4c66fa[_0x20d743(0x196)],_0x2da26e);assertCompanyKnowledgeBase(_0x5bda6a,_0x4c66fa[_0x20d743(0x181)],_0x514c17[_0x20d743(0x19e)]['id']);}catch(_0x299010){if(!isPlatformTransportFailure(_0x299010))throw _0x299010;_0x24d7bf=!![];}const _0x57dffc=await verifyKbMutationReadback(_0x20d743(0x1b1),_0x24d7bf,()=>requireKb(_0x4c66fa,_0x514c17[_0x20d743(0x19e)]['id'])),_0x265946=projectKb(_0x57dffc),_0xa9e6c2=_0x514c17[_0x20d743(0x19e)][_0x20d743(0x1a5)]===undefined||_0x57dffc[_0x20d743(0x1a5)]===_0x514c17[_0x20d743(0x19e)]['title'],_0x4aa5f=!_0x514c17[_0x20d743(0x18f)]||inspectKbContent(_0x57dffc[_0x20d743(0x1a7)])[_0x20d743(0x185)]===_0x514c17[_0x20d743(0x18f)][_0x20d743(0x185)],_0x656f4e=!_0x514c17[_0x20d743(0x18f)]||_0x57dffc[_0x20d743(0x19c)]>_0x514c17[_0x20d743(0x191)]['version'],_0x35798e=!_0x24d7bf||_0x514c17[_0x20d743(0x18f)]!==undefined||_0x514c17['patch'][_0x20d743(0x1a5)]===undefined||_0x514c17[_0x20d743(0x191)]['title']!==_0x514c17['patch'][_0x20d743(0x1a5)];if(!_0xa9e6c2||!_0x4aa5f||!_0x656f4e||!_0x35798e)throw kbError(_0x24d7bf?'kb_update_outcome_unknown':_0x20d743(0x186),'Company\x20knowledge\x20base\x20'+_0x514c17[_0x20d743(0x19e)]['id']+_0x20d743(0x1ae),_0x20d743(0x195)+_0x514c17['patch']['id']+_0x20d743(0x198));const _0x17629f=[];return _0x514c17[_0x20d743(0x19e)][_0x20d743(0x17f)]!==undefined&&_0x17629f[_0x20d743(0x194)](NON_ATOMIC_WARNING),_0x24d7bf&&_0x17629f[_0x20d743(0x194)](_0x20d743(0x18b)),{'ok':!![],'data':{'operation':'update','selector':{'id':_0x265946['id'],'scope':_0x20d743(0x19f),'appCode':_0x265946[_0x20d743(0x181)]},'before':_0x514c17[_0x20d743(0x180)],'after':_0x265946,'dryRun':![],'backend':{'method':_0x20d743(0x1ac),'path':UPDATE_PATH},'warnings':_0x17629f,'verification':{'status':'verified','recoveredAfterUnknownResponse':_0x24d7bf,'expectedVersion':_0x514c17[_0x20d743(0x19e)][_0x20d743(0x17f)]??null,'atomicCompareAndSet':![],'lookupCommand':_0x20d743(0x18a)+_0x265946['id']+_0x20d743(0x1a8)}},'message':_0x20d743(0x190)+_0x265946['id']};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a149_0x3453ed=a149_0x97fe;(function(_0x2ce0d3,_0x496bc3){const _0x54d600=a149_0x97fe,_0x5319da=_0x2ce0d3();while(!![]){try{const _0x4fcb62=-parseInt(_0x54d600(0x89))/0x1+parseInt(_0x54d600(0xa2))/0x2+parseInt(_0x54d600(0x95))/0x3*(-parseInt(_0x54d600(0xa3))/0x4)+parseInt(_0x54d600(0x9b))/0x5+parseInt(_0x54d600(0x98))/0x6*(-parseInt(_0x54d600(0x8c))/0x7)+parseInt(_0x54d600(0x8a))/0x8*(-parseInt(_0x54d600(0x9a))/0x9)+-parseInt(_0x54d600(0x93))/0xa*(parseInt(_0x54d600(0x9c))/0xb);if(_0x4fcb62===_0x496bc3)break;else _0x5319da['push'](_0x5319da['shift']());}catch(_0x420383){_0x5319da['push'](_0x5319da['shift']());}}}(a149_0x1d6d,0xae6aa));function a149_0x1d6d(){const _0x2e03e3=['1514470JBoPMN','read','3ypEAYZ','show','clearLogs','2214nITIbw','details','378243ViCtoz','6008630Jnjeig','11BoUsuo','View\x20command\x20history\x20logs','toLocaleString','warn','*\x20Logs\x20cleared','length','1954404qUaSsN','313932yjZcGv','success','logs','command','level','229375gbFHKN','64VhNHkH','log','12691EmMCqE','readLogs','*\x20Lovrabet\x20CLI\x20logs:\x0a','keys','*\x20No\x20logs\x20found','clear','timestamp'];a149_0x1d6d=function(){return _0x2e03e3;};return a149_0x1d6d();}import{logger}from'../../utils/logger.js';function a149_0x97fe(_0x22ba8d,_0x2fdcec){_0x22ba8d=_0x22ba8d-0x89;const _0x1d6dd5=a149_0x1d6d();let _0x97fe48=_0x1d6dd5[_0x22ba8d];return _0x97fe48;}function printLogs(_0x238ee4){const _0x149068=a149_0x97fe;if(_0x238ee4[_0x149068(0xa1)]===0x0){console[_0x149068(0x8b)](_0x149068(0x90));return;}console[_0x149068(0x8b)](_0x149068(0x8e)),_0x238ee4['forEach']((_0xcd1fa2,_0x950ebc)=>{const _0x5c6572=_0x149068,_0x364075=new Date(_0xcd1fa2[_0x5c6572(0x92)])[_0x5c6572(0x9e)]('en-US'),_0x271ccc=_0xcd1fa2['level']===_0x5c6572(0xa4)?'√':_0xcd1fa2[_0x5c6572(0xa7)]==='error'?'×':_0xcd1fa2[_0x5c6572(0xa7)]===_0x5c6572(0x9f)?'!':'i';console[_0x5c6572(0x8b)](_0x950ebc+0x1+'.\x20'+_0x271ccc+'\x20['+_0xcd1fa2[_0x5c6572(0xa6)]+']\x20'+_0xcd1fa2['message']),console[_0x5c6572(0x8b)]('\x20\x20\x20Time:\x20'+_0x364075),_0xcd1fa2['duration']&&console['log']('\x20\x20\x20Duration:\x20'+_0xcd1fa2['duration']+'ms'),_0xcd1fa2['details']&&Object[_0x5c6572(0x8f)](_0xcd1fa2[_0x5c6572(0x99)])['length']>0x0&&console[_0x5c6572(0x8b)]('\x20\x20\x20Details:\x20'+JSON['stringify'](_0xcd1fa2[_0x5c6572(0x99)],null,0x2)),console[_0x5c6572(0x8b)]('');});}export const logsDefinitions=[{'service':a149_0x3453ed(0xa5),'command':a149_0x3453ed(0x96),'description':a149_0x3453ed(0x9d),'risk':a149_0x3453ed(0x94),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x3a7a87){const _0x1ddeb8=a149_0x3453ed;return printLogs(logger[_0x1ddeb8(0x8d)]()),{'ok':!![]};}},{'service':a149_0x3453ed(0xa5),'command':a149_0x3453ed(0x91),'description':'Clear\x20command\x20history\x20logs','risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x3e00e){const _0x460b64=a149_0x3453ed;return logger[_0x460b64(0x97)](),console[_0x460b64(0x8b)](_0x460b64(0xa0)),{'ok':!![]};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a126_0x43523b=a126_0x4ca0;(function(_0x42ec9e,_0x3c27f1){const _0x461750=a126_0x4ca0,_0x4aa961=_0x42ec9e();while(!![]){try{const _0x4832b8=-parseInt(_0x461750(0xa4))/0x1+-parseInt(_0x461750(0xe5))/0x2+parseInt(_0x461750(0xe2))/0x3+parseInt(_0x461750(0xd9))/0x4+-parseInt(_0x461750(0xa0))/0x5*(-parseInt(_0x461750(0xa8))/0x6)+-parseInt(_0x461750(0xdc))/0x7*(parseInt(_0x461750(0xcd))/0x8)+parseInt(_0x461750(0x9c))/0x9*(-parseInt(_0x461750(0xcf))/0xa);if(_0x4832b8===_0x3c27f1)break;else _0x4aa961['push'](_0x4aa961['shift']());}catch(_0x312c1a){_0x4aa961['push'](_0x4aa961['shift']());}}}(a126_0x2939,0xad8c8));import a126_0x4da2d3 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';import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';import{runMenuUpdateCore}from'../../commands/menu/shared/update-core.js';import{selectMenusForUpdate}from'../../commands/menu/shared/update-core.js';import{isInProject}from'../../context.js';function a126_0x2939(){const _0x40dab9=['menu','POST','load-mode','yellow','stringify','\x20menu(s)\x20with\x20existing\x20resources','Menu\x20asset\x20update\x20completed:\x20','Updating\x20','trim','Failed\x20to\x20fetch\x20online\x20menu\x20list','/smartapi/menu/update','\x20menu\x20resource\x20set(s).','force','3207728uvtUwg','--menu-ids\x20must\x20contain\x20positive\x20safe\x20integers.','20GvhLXD','paths','\x20menu(s)\x20with\x20JS:\x20','--all\x20cannot\x20be\x20combined\x20with\x20--menu-ids\x20or\x20--paths.','cookie','Updated\x20','Explicitly\x20update\x20every\x20menu\x20that\x20has\x20resources','length','patch\x20replaces\x20a\x20supplied\x20type\x20only\x20when\x20the\x20existing\x20target\x20is\x20unambiguous','Allow\x20replace\x20mode\x20to\x20remove\x20existing\x20JS\x20resources','3760644uxMjIj','\x20\x20!\x20No\x20menus\x20with\x20existing\x20resources\x20found','Menu\x20asset\x20update\x20failed','7fumvRp','parse','cyan','selectedAppName','\x20menu(s)','filter','447015CZtgor','split','\x20menu(s)...','178680BTUHdY','Invalid\x20--load-mode.\x20Allowed\x20values:\x20import,\x20script,\x20fetch','jsUrl','message','Would\x20update\x20','some','\x20\x20Cancelled.','\x20and\x20CSS:\x20','skipped','patch','isArray','!\x20No\x20menus\x20with\x20existing\x20resources\x20found','Online\x20menu\x20list\x20fetched','✓\x20Menu\x20asset\x20update\x20completed:\x20','menu\x20asset-update\x20requires\x20an\x20explicit\x20target:\x20pass\x20--all,\x20--menu-ids,\x20or\x20--paths.','map','all','\x20updated,\x20','\x20\x20Update\x20','\x20failed.','Resource\x20update\x20mode:\x20replace\x20rewrites\x20resources\x20from\x20supplied\x20URLs;\x20','953010hQMBRI','str','cssUrl','boolean','221395LpzlMo','object','validation','Fetching\x20online\x20menu\x20list...','1048873SCGQql','rawFlags','isSafeInteger','JSON:\x20{\x22jsUrl\x22:\x22https://...js\x22,\x22cssUrl\x22:\x22https://...css\x22}','186jLKFYs','script','menu-ids','Exact\x20comma-separated\x20menu\x20paths\x20to\x20update','replace','Explicitly\x20change\x20the\x20microfrontend\x20resource\x20loading\x20mode','string','updated','Menu\x20asset\x20update\x20skipped','asset-update','params','appCode','write','fetch','mode','Invalid\x20--mode.\x20Allowed\x20values:\x20replace,\x20patch','bool','label','failed','\x20menu(s)\x20failed','import','\x20\x20Found\x20','Exact\x20comma-separated\x20menu\x20IDs\x20to\x20update','appcode'];a126_0x2939=function(){return _0x40dab9;};return a126_0x2939();}export const menuAssetUpdate={'service':a126_0x43523b(0xc0),'command':a126_0x43523b(0xb1),'description':'Update\x20CDN\x20asset\x20URLs\x20for\x20selected\x20online\x20menus\x20with\x20existing\x20resources','risk':a126_0x43523b(0xb4),'flags':[{'name':a126_0x43523b(0xb2),'type':a126_0x43523b(0xae),'description':'Pre-fill\x20JS/CSS\x20URLs\x20to\x20update.\x20'+a126_0x43523b(0xa7)},{'name':a126_0x43523b(0xb6),'type':'string','description':a126_0x43523b(0x9b)+a126_0x43523b(0xd7),'enum':['replace',a126_0x43523b(0xee)],'default':a126_0x43523b(0xee)},{'name':a126_0x43523b(0xcc),'type':a126_0x43523b(0x9f),'description':a126_0x43523b(0xd8)},{'name':a126_0x43523b(0xaa),'type':a126_0x43523b(0xae),'description':a126_0x43523b(0xbe)},{'name':a126_0x43523b(0xd0),'type':a126_0x43523b(0xae),'description':a126_0x43523b(0xab)},{'name':a126_0x43523b(0xf5),'type':a126_0x43523b(0x9f),'description':a126_0x43523b(0xd5)},{'name':'load-mode','type':a126_0x43523b(0xae),'enum':[a126_0x43523b(0xbc),a126_0x43523b(0xa9),a126_0x43523b(0xb5)],'description':a126_0x43523b(0xad)}],async 'dryRun'(_0x3a1e4e){const _0x14dc38=a126_0x43523b;ensureRunnableContext(_0x3a1e4e[_0x14dc38(0xa5)],_0x3a1e4e[_0x14dc38(0xdf)]);const _0x6857bf=await runMenuUpdateCore(_0x3a1e4e[_0x14dc38(0xb3)],_0x3a1e4e[_0x14dc38(0xd3)],_0x3a1e4e['str'](_0x14dc38(0xb2)),{'mode':parseMode(_0x3a1e4e[_0x14dc38(0x9d)](_0x14dc38(0xb6))),'dryRun':!![],'force':_0x3a1e4e[_0x14dc38(0xb8)]('force'),'selection':parseSelection(_0x3a1e4e),'loadScriptMode':parseLoadScriptMode(_0x3a1e4e[_0x14dc38(0x9d)](_0x14dc38(0xc2)))});return{'method':_0x14dc38(0xc1),'url':_0x14dc38(0xca),'body':_0x6857bf,'description':_0x6857bf[_0x14dc38(0xed)]?'No\x20menus\x20with\x20existing\x20resources\x20would\x20be\x20updated.':_0x14dc38(0xe9)+(_0x6857bf['diffs']?.['length']??0x0)+_0x14dc38(0xcb)};},async 'execute'(_0x2d8d8d){const _0x5ed69e=a126_0x43523b;ensureRunnableContext(_0x2d8d8d[_0x5ed69e(0xa5)],_0x2d8d8d['selectedAppName']);const _0x480516=_0x2d8d8d['str'](_0x5ed69e(0xb2)),_0x4afdc5=parseMode(_0x2d8d8d[_0x5ed69e(0x9d)](_0x5ed69e(0xb6))),_0x44135e=_0x2d8d8d[_0x5ed69e(0xb8)](_0x5ed69e(0xcc)),_0x436835=parseLoadScriptMode(_0x2d8d8d[_0x5ed69e(0x9d)](_0x5ed69e(0xc2))),_0x19e179=parseParams(_0x480516),_0x5e9e89=!!(_0x19e179[_0x5ed69e(0xe7)]||_0x19e179[_0x5ed69e(0x9e)]);if(_0x5e9e89){const _0x2e9d55=await runMenuUpdateCore(_0x2d8d8d[_0x5ed69e(0xb3)],_0x2d8d8d[_0x5ed69e(0xd3)],_0x480516,{'mode':_0x4afdc5,'force':_0x44135e,'selection':parseSelection(_0x2d8d8d),'loadScriptMode':_0x436835});return _0x2e9d55['skipped']?writeCliSideChannelLine(_0x5ed69e(0xf0)):(writeCliSideChannelLine(_0x5ed69e(0xf2)+_0x2e9d55[_0x5ed69e(0xaf)]+'\x20menu(s)\x20updated'),_0x2e9d55[_0x5ed69e(0xba)]>0x0&&writeCliSideChannelLine('!\x20'+_0x2e9d55[_0x5ed69e(0xba)]+_0x5ed69e(0xbb))),{'ok':_0x2e9d55[_0x5ed69e(0xba)]===0x0,'data':_0x2e9d55,'message':_0x2e9d55[_0x5ed69e(0xed)]?_0x5ed69e(0xb0):_0x5ed69e(0xc6)+_0x2e9d55[_0x5ed69e(0xaf)]+_0x5ed69e(0xf6)+_0x2e9d55[_0x5ed69e(0xba)]+_0x5ed69e(0x9a)};}requireInteractive();const _0x389359=startSpinner(_0x5ed69e(0xa3));let _0x1edeec;try{_0x1edeec=await fetchOnlineMenuList(_0x2d8d8d[_0x5ed69e(0xb3)],_0x2d8d8d[_0x5ed69e(0xd3)]),stopSpinner(_0x389359,_0x5ed69e(0xf1),!![]);}catch(_0x56af8b){stopSpinner(_0x389359,_0x5ed69e(0xc9),![]);throw CliErrors['validation'](_0x56af8b instanceof Error?_0x56af8b[_0x5ed69e(0xe8)]:_0x5ed69e(0xc9));}const _0x5df76f=filterMenusWithResources(_0x1edeec),_0x1425d0=parseSelection(_0x2d8d8d,![]),_0x16a7a1=_0x1425d0?selectMenusForUpdate(_0x5df76f,_0x1425d0):_0x5df76f;if(_0x16a7a1[_0x5ed69e(0xd6)]===0x0)return writeCliSideChannelLine(a126_0x4da2d3[_0x5ed69e(0xc3)](_0x5ed69e(0xda))),{'ok':!![]};writeCliSideChannelLine(''),writeCliSideChannelLine(a126_0x4da2d3[_0x5ed69e(0xde)](_0x5ed69e(0xbd)+_0x16a7a1['length']+_0x5ed69e(0xc5))),writeCliSideChannelLine(renderUpdateSummary(_0x16a7a1['map'](_0x21efdd=>_0x21efdd[_0x5ed69e(0xb9)]),[_0x19e179['jsUrl'],_0x19e179[_0x5ed69e(0x9e)]])),writeCliSideChannelLine('');let _0x2b6a4a=_0x19e179[_0x5ed69e(0xe7)],_0x3f54e5=_0x19e179[_0x5ed69e(0x9e)];!_0x2b6a4a&&(_0x2b6a4a=await askJsUrl());!_0x3f54e5&&(_0x3f54e5=await askCssUrl());const _0x4bc665=await askConfirm(_0x5ed69e(0x99)+_0x16a7a1[_0x5ed69e(0xd6)]+_0x5ed69e(0xd1)+_0x2b6a4a+_0x5ed69e(0xec)+_0x3f54e5+'?');if(!_0x4bc665)return writeCliSideChannelLine(a126_0x4da2d3['gray'](_0x5ed69e(0xeb))),{'ok':!![]};const _0x2474ed=startSpinner(_0x5ed69e(0xc7)+_0x16a7a1[_0x5ed69e(0xd6)]+_0x5ed69e(0xe4));try{const _0x40ed92=await runMenuUpdateCore(_0x2d8d8d[_0x5ed69e(0xb3)],_0x2d8d8d[_0x5ed69e(0xd3)],JSON[_0x5ed69e(0xc4)]({'jsUrl':_0x2b6a4a,'cssUrl':_0x3f54e5}),{'mode':_0x4afdc5,'force':_0x44135e,'selection':{'all':![],'menuIds':_0x16a7a1[_0x5ed69e(0xf4)](_0x5104d2=>_0x5104d2['id']),'paths':[]},'loadScriptMode':_0x436835});return stopSpinner(_0x2474ed,_0x5ed69e(0xd4)+_0x40ed92[_0x5ed69e(0xaf)]+_0x5ed69e(0xe0),_0x40ed92[_0x5ed69e(0xba)]===0x0),{'ok':_0x40ed92[_0x5ed69e(0xba)]===0x0,'data':_0x40ed92,'message':_0x40ed92[_0x5ed69e(0xba)]>0x0?_0x5ed69e(0xc6)+_0x40ed92[_0x5ed69e(0xaf)]+_0x5ed69e(0xf6)+_0x40ed92[_0x5ed69e(0xba)]+'\x20failed.':_0x5ed69e(0xc6)+_0x40ed92[_0x5ed69e(0xaf)]+'\x20updated.'};}catch(_0x21ac1d){stopSpinner(_0x2474ed,_0x5ed69e(0xdb),![]);throw CliErrors[_0x5ed69e(0xa2)](_0x21ac1d instanceof Error?_0x21ac1d['message']:_0x5ed69e(0xdb));}}};function ensureRunnableContext(_0x2d5009,_0x43905d){const _0x2b34e7=a126_0x43523b,_0x422861=_0x2d5009[_0x2b34e7(0xbf)]?String(_0x2d5009[_0x2b34e7(0xbf)])[_0x2b34e7(0xc8)]():'';if(!isInProject()&&!_0x43905d&&!_0x422861)throw CliErrors[_0x2b34e7(0xa2)]('menu\x20asset-update\x20requires\x20a\x20project\x20context\x20or\x20explicit\x20--appcode.\x20'+'Run\x20inside\x20a\x20directory\x20with\x20.rabetbase.json,\x20or\x20pass\x20--appcode\x20<code>.');}function a126_0x4ca0(_0x535bbc,_0xb95999){_0x535bbc=_0x535bbc-0x99;const _0x293975=a126_0x2939();let _0x4ca029=_0x293975[_0x535bbc];return _0x4ca029;}function parseMode(_0x5c3f5f){const _0x41b695=a126_0x43523b;if(!_0x5c3f5f)return _0x41b695(0xee);if(_0x5c3f5f===_0x41b695(0xac)||_0x5c3f5f===_0x41b695(0xee))return _0x5c3f5f;throw CliErrors[_0x41b695(0xa2)](_0x41b695(0xb7));}function parseSelection(_0x2aede5,_0x34b7d2=!![]){const _0x48c0a7=a126_0x43523b,_0x40db1d=_0x2aede5['bool']('all'),_0x290d80=parseMenuIds(_0x2aede5[_0x48c0a7(0x9d)](_0x48c0a7(0xaa))),_0x28e18d=parseCsv(_0x2aede5[_0x48c0a7(0x9d)]('paths')),_0x318223=_0x290d80['length']>0x0||_0x28e18d['length']>0x0;if(_0x40db1d&&_0x318223)throw CliErrors[_0x48c0a7(0xa2)](_0x48c0a7(0xd2));if(!_0x40db1d&&!_0x318223){if(!_0x34b7d2)return undefined;throw CliErrors[_0x48c0a7(0xa2)](_0x48c0a7(0xf3));}return{'all':_0x40db1d,'menuIds':_0x290d80,'paths':_0x28e18d};}function parseMenuIds(_0x5730b2){const _0xe64c06=a126_0x43523b,_0x22a713=parseCsv(_0x5730b2),_0x55ccef=_0x22a713[_0xe64c06(0xf4)](Number);if(_0x55ccef[_0xe64c06(0xea)](_0x27054e=>!Number[_0xe64c06(0xa6)](_0x27054e)||_0x27054e<=0x0))throw CliErrors['validation'](_0xe64c06(0xce));return[...new Set(_0x55ccef)];}function parseCsv(_0x2b5565){const _0x216a3c=a126_0x43523b;return[...new Set(_0x2b5565[_0x216a3c(0xe3)](',')[_0x216a3c(0xf4)](_0x4af879=>_0x4af879[_0x216a3c(0xc8)]())[_0x216a3c(0xe1)](Boolean))];}function parseLoadScriptMode(_0x17c9c2){const _0x3dda66=a126_0x43523b;if(!_0x17c9c2)return undefined;if(_0x17c9c2===_0x3dda66(0xbc)||_0x17c9c2==='script'||_0x17c9c2===_0x3dda66(0xb5))return _0x17c9c2;throw CliErrors[_0x3dda66(0xa2)](_0x3dda66(0xe6));}function parseParams(_0x5d5c03){const _0x54edd4=a126_0x43523b;if(!_0x5d5c03)return{};try{const _0x2b0949=JSON[_0x54edd4(0xdd)](_0x5d5c03);if(typeof _0x2b0949!==_0x54edd4(0xa1)||_0x2b0949===null||Array[_0x54edd4(0xef)](_0x2b0949))return{};return{'jsUrl':typeof _0x2b0949[_0x54edd4(0xe7)]==='string'?_0x2b0949[_0x54edd4(0xe7)][_0x54edd4(0xc8)]():undefined,'cssUrl':typeof _0x2b0949['cssUrl']==='string'?_0x2b0949[_0x54edd4(0x9e)]['trim']():undefined};}catch{return{};}}
|
|
1
|
+
const a150_0x4d8366=a150_0x1532;(function(_0x5a553e,_0x449bb5){const _0x5d5f5e=a150_0x1532,_0x1469e0=_0x5a553e();while(!![]){try{const _0xacf121=-parseInt(_0x5d5f5e(0xcd))/0x1*(parseInt(_0x5d5f5e(0xbd))/0x2)+-parseInt(_0x5d5f5e(0xdb))/0x3+parseInt(_0x5d5f5e(0xce))/0x4+-parseInt(_0x5d5f5e(0xd8))/0x5*(parseInt(_0x5d5f5e(0xc0))/0x6)+-parseInt(_0x5d5f5e(0xdc))/0x7*(-parseInt(_0x5d5f5e(0xae))/0x8)+parseInt(_0x5d5f5e(0xe4))/0x9+-parseInt(_0x5d5f5e(0xbe))/0xa*(-parseInt(_0x5d5f5e(0xfd))/0xb);if(_0xacf121===_0x449bb5)break;else _0x1469e0['push'](_0x1469e0['shift']());}catch(_0x527866){_0x1469e0['push'](_0x1469e0['shift']());}}}(a150_0x4fab,0x52aad));import a150_0x1358df from'chalk';import{filterMenusWithResources,fetchOnlineMenuList}from'../../commands/menu/shared/logic.js';function a150_0x4fab(){const _0x90ad34=['force','Pre-fill\x20JS/CSS\x20URLs\x20to\x20update.\x20','paths','appcode','Invalid\x20--load-mode.\x20Allowed\x20values:\x20import,\x20script,\x20fetch','Would\x20update\x20','Run\x20inside\x20a\x20directory\x20with\x20.rabetbase.json,\x20or\x20pass\x20--appcode\x20<code>.','Updating\x20','Updated\x20','Invalid\x20--mode.\x20Allowed\x20values:\x20replace,\x20patch','\x20menu(s)\x20updated','\x20\x20Cancelled.','\x20failed.','POST','message','cssUrl','Exact\x20comma-separated\x20menu\x20paths\x20to\x20update','string','110tZUgKN','Failed\x20to\x20fetch\x20online\x20menu\x20list','menu\x20asset-update\x20requires\x20a\x20project\x20context\x20or\x20explicit\x20--appcode.\x20','boolean','load-mode','isArray','menu\x20asset-update\x20requires\x20an\x20explicit\x20target:\x20pass\x20--all,\x20--menu-ids,\x20or\x20--paths.','split','rawFlags','876016TloMLb','\x20menu(s)\x20failed','menu','mode','stringify','isSafeInteger','jsUrl','\x20and\x20CSS:\x20','length','updated','trim','\x20menu(s)\x20with\x20JS:\x20','filter','cookie','all','824tEmGcW','66380IRjGwy','object','6bNnoRt','replace','Explicitly\x20change\x20the\x20microfrontend\x20resource\x20loading\x20mode','bool','No\x20menus\x20with\x20existing\x20resources\x20would\x20be\x20updated.','Online\x20menu\x20list\x20fetched','!\x20No\x20menus\x20with\x20existing\x20resources\x20found','JSON:\x20{\x22jsUrl\x22:\x22https://...js\x22,\x22cssUrl\x22:\x22https://...css\x22}','Allow\x20replace\x20mode\x20to\x20remove\x20existing\x20JS\x20resources','patch\x20replaces\x20a\x20supplied\x20type\x20only\x20when\x20the\x20existing\x20target\x20is\x20unambiguous','Menu\x20asset\x20update\x20completed:\x20','✓\x20Menu\x20asset\x20update\x20completed:\x20','validation','1042BdKtRL','1564556iLPbEx','import','selectedAppName','parse','diffs','map','skipped','script','gray','fetch','2373145csDUCe','asset-update','\x20updated.','692901VRpjvP','28EIedOP','patch','params','--all\x20cannot\x20be\x20combined\x20with\x20--menu-ids\x20or\x20--paths.','\x20\x20!\x20No\x20menus\x20with\x20existing\x20resources\x20found','Resource\x20update\x20mode:\x20replace\x20rewrites\x20resources\x20from\x20supplied\x20URLs;\x20','appCode','menu-ids','5201802wdiZKF','str','\x20updated,\x20','Fetching\x20online\x20menu\x20list...','\x20menu(s)\x20with\x20existing\x20resources','label','failed'];a150_0x4fab=function(){return _0x90ad34;};return a150_0x4fab();}import{renderUpdateSummary}from'../../commands/menu/shared/compare-table.js';import{askJsUrl,askCssUrl,askConfirm,startSpinner,stopSpinner,requireInteractive}from'../../commands/menu/shared/inquirer.js';import{CliErrors}from'../../errors.js';import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';function a150_0x1532(_0x5ab83d,_0x2375b3){_0x5ab83d=_0x5ab83d-0xac;const _0x4fab49=a150_0x4fab();let _0x153282=_0x4fab49[_0x5ab83d];return _0x153282;}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':a150_0x4d8366(0xb0),'command':a150_0x4d8366(0xd9),'description':'Update\x20CDN\x20asset\x20URLs\x20for\x20selected\x20online\x20menus\x20with\x20existing\x20resources','risk':'write','flags':[{'name':a150_0x4d8366(0xde),'type':a150_0x4d8366(0xfc),'description':a150_0x4d8366(0xec)+a150_0x4d8366(0xc7)},{'name':a150_0x4d8366(0xb1),'type':a150_0x4d8366(0xfc),'description':a150_0x4d8366(0xe1)+a150_0x4d8366(0xc9),'enum':[a150_0x4d8366(0xc1),a150_0x4d8366(0xdd)],'default':a150_0x4d8366(0xdd)},{'name':'force','type':a150_0x4d8366(0x100),'description':a150_0x4d8366(0xc8)},{'name':'menu-ids','type':'string','description':'Exact\x20comma-separated\x20menu\x20IDs\x20to\x20update'},{'name':a150_0x4d8366(0xed),'type':a150_0x4d8366(0xfc),'description':a150_0x4d8366(0xfb)},{'name':a150_0x4d8366(0xbc),'type':a150_0x4d8366(0x100),'description':'Explicitly\x20update\x20every\x20menu\x20that\x20has\x20resources'},{'name':a150_0x4d8366(0x101),'type':a150_0x4d8366(0xfc),'enum':[a150_0x4d8366(0xcf),a150_0x4d8366(0xd5),a150_0x4d8366(0xd7)],'description':a150_0x4d8366(0xc2)}],async 'dryRun'(_0xa096a){const _0x327920=a150_0x4d8366;ensureRunnableContext(_0xa096a[_0x327920(0xad)],_0xa096a['selectedAppName']);const _0x34d433=await runMenuUpdateCore(_0xa096a['appCode'],_0xa096a[_0x327920(0xbb)],_0xa096a[_0x327920(0xe5)](_0x327920(0xde)),{'mode':parseMode(_0xa096a[_0x327920(0xe5)](_0x327920(0xb1))),'dryRun':!![],'force':_0xa096a['bool'](_0x327920(0xeb)),'selection':parseSelection(_0xa096a),'loadScriptMode':parseLoadScriptMode(_0xa096a[_0x327920(0xe5)]('load-mode'))});return{'method':_0x327920(0xf8),'url':'/smartapi/menu/update','body':_0x34d433,'description':_0x34d433[_0x327920(0xd4)]?_0x327920(0xc4):_0x327920(0xf0)+(_0x34d433[_0x327920(0xd2)]?.[_0x327920(0xb6)]??0x0)+'\x20menu\x20resource\x20set(s).'};},async 'execute'(_0x344620){const _0x458f4c=a150_0x4d8366;ensureRunnableContext(_0x344620[_0x458f4c(0xad)],_0x344620[_0x458f4c(0xd0)]);const _0x279f80=_0x344620[_0x458f4c(0xe5)](_0x458f4c(0xde)),_0x183ac3=parseMode(_0x344620[_0x458f4c(0xe5)](_0x458f4c(0xb1))),_0x44bee5=_0x344620[_0x458f4c(0xc3)]('force'),_0x3e89ff=parseLoadScriptMode(_0x344620[_0x458f4c(0xe5)]('load-mode')),_0x4f2988=parseParams(_0x279f80),_0x254888=!!(_0x4f2988['jsUrl']||_0x4f2988[_0x458f4c(0xfa)]);if(_0x254888){const _0x5d797c=await runMenuUpdateCore(_0x344620['appCode'],_0x344620[_0x458f4c(0xbb)],_0x279f80,{'mode':_0x183ac3,'force':_0x44bee5,'selection':parseSelection(_0x344620),'loadScriptMode':_0x3e89ff});return _0x5d797c[_0x458f4c(0xd4)]?writeCliSideChannelLine(_0x458f4c(0xc6)):(writeCliSideChannelLine(_0x458f4c(0xcb)+_0x5d797c['updated']+_0x458f4c(0xf5)),_0x5d797c['failed']>0x0&&writeCliSideChannelLine('!\x20'+_0x5d797c[_0x458f4c(0xea)]+_0x458f4c(0xaf))),{'ok':_0x5d797c[_0x458f4c(0xea)]===0x0,'data':_0x5d797c,'message':_0x5d797c['skipped']?'Menu\x20asset\x20update\x20skipped':_0x458f4c(0xca)+_0x5d797c['updated']+_0x458f4c(0xe6)+_0x5d797c[_0x458f4c(0xea)]+_0x458f4c(0xf7)};}requireInteractive();const _0x3c01b5=startSpinner(_0x458f4c(0xe7));let _0x597185;try{_0x597185=await fetchOnlineMenuList(_0x344620[_0x458f4c(0xe2)],_0x344620['cookie']),stopSpinner(_0x3c01b5,_0x458f4c(0xc5),!![]);}catch(_0x173eec){stopSpinner(_0x3c01b5,_0x458f4c(0xfe),![]);throw CliErrors[_0x458f4c(0xcc)](_0x173eec instanceof Error?_0x173eec[_0x458f4c(0xf9)]:_0x458f4c(0xfe));}const _0x506618=filterMenusWithResources(_0x597185),_0x4668eb=parseSelection(_0x344620,![]),_0x231b2d=_0x4668eb?selectMenusForUpdate(_0x506618,_0x4668eb):_0x506618;if(_0x231b2d[_0x458f4c(0xb6)]===0x0)return writeCliSideChannelLine(a150_0x1358df['yellow'](_0x458f4c(0xe0))),{'ok':!![]};writeCliSideChannelLine(''),writeCliSideChannelLine(a150_0x1358df['cyan']('\x20\x20Found\x20'+_0x231b2d[_0x458f4c(0xb6)]+_0x458f4c(0xe8))),writeCliSideChannelLine(renderUpdateSummary(_0x231b2d['map'](_0x2a1293=>_0x2a1293[_0x458f4c(0xe9)]),[_0x4f2988[_0x458f4c(0xb4)],_0x4f2988['cssUrl']])),writeCliSideChannelLine('');let _0x172351=_0x4f2988[_0x458f4c(0xb4)],_0x5287aa=_0x4f2988[_0x458f4c(0xfa)];!_0x172351&&(_0x172351=await askJsUrl());!_0x5287aa&&(_0x5287aa=await askCssUrl());const _0xb3e36a=await askConfirm('\x20\x20Update\x20'+_0x231b2d[_0x458f4c(0xb6)]+_0x458f4c(0xb9)+_0x172351+_0x458f4c(0xb5)+_0x5287aa+'?');if(!_0xb3e36a)return writeCliSideChannelLine(a150_0x1358df[_0x458f4c(0xd6)](_0x458f4c(0xf6))),{'ok':!![]};const _0x3af5ef=startSpinner(_0x458f4c(0xf2)+_0x231b2d[_0x458f4c(0xb6)]+'\x20menu(s)...');try{const _0x11bc4d=await runMenuUpdateCore(_0x344620[_0x458f4c(0xe2)],_0x344620['cookie'],JSON[_0x458f4c(0xb2)]({'jsUrl':_0x172351,'cssUrl':_0x5287aa}),{'mode':_0x183ac3,'force':_0x44bee5,'selection':{'all':![],'menuIds':_0x231b2d['map'](_0x918a0f=>_0x918a0f['id']),'paths':[]},'loadScriptMode':_0x3e89ff});return stopSpinner(_0x3af5ef,_0x458f4c(0xf3)+_0x11bc4d[_0x458f4c(0xb7)]+'\x20menu(s)',_0x11bc4d['failed']===0x0),{'ok':_0x11bc4d['failed']===0x0,'data':_0x11bc4d,'message':_0x11bc4d['failed']>0x0?_0x458f4c(0xca)+_0x11bc4d[_0x458f4c(0xb7)]+_0x458f4c(0xe6)+_0x11bc4d[_0x458f4c(0xea)]+'\x20failed.':_0x458f4c(0xca)+_0x11bc4d[_0x458f4c(0xb7)]+_0x458f4c(0xda)};}catch(_0x2d848a){stopSpinner(_0x3af5ef,'Menu\x20asset\x20update\x20failed',![]);throw CliErrors[_0x458f4c(0xcc)](_0x2d848a instanceof Error?_0x2d848a['message']:'Menu\x20asset\x20update\x20failed');}}};function ensureRunnableContext(_0x4677ee,_0x218746){const _0x1e8831=a150_0x4d8366,_0x24ca4d=_0x4677ee[_0x1e8831(0xee)]?String(_0x4677ee['appcode'])[_0x1e8831(0xb8)]():'';if(!isInProject()&&!_0x218746&&!_0x24ca4d)throw CliErrors[_0x1e8831(0xcc)](_0x1e8831(0xff)+_0x1e8831(0xf1));}function parseMode(_0x5a587c){const _0x1a0da7=a150_0x4d8366;if(!_0x5a587c)return'patch';if(_0x5a587c===_0x1a0da7(0xc1)||_0x5a587c===_0x1a0da7(0xdd))return _0x5a587c;throw CliErrors[_0x1a0da7(0xcc)](_0x1a0da7(0xf4));}function parseSelection(_0x12d1db,_0x539873=!![]){const _0x5b3474=a150_0x4d8366,_0x56c6b1=_0x12d1db['bool']('all'),_0x86b9d7=parseMenuIds(_0x12d1db[_0x5b3474(0xe5)](_0x5b3474(0xe3))),_0x5e7ba5=parseCsv(_0x12d1db[_0x5b3474(0xe5)](_0x5b3474(0xed))),_0x180243=_0x86b9d7[_0x5b3474(0xb6)]>0x0||_0x5e7ba5[_0x5b3474(0xb6)]>0x0;if(_0x56c6b1&&_0x180243)throw CliErrors[_0x5b3474(0xcc)](_0x5b3474(0xdf));if(!_0x56c6b1&&!_0x180243){if(!_0x539873)return undefined;throw CliErrors[_0x5b3474(0xcc)](_0x5b3474(0x103));}return{'all':_0x56c6b1,'menuIds':_0x86b9d7,'paths':_0x5e7ba5};}function parseMenuIds(_0x264e5c){const _0x24100a=a150_0x4d8366,_0x242271=parseCsv(_0x264e5c),_0x8af1cd=_0x242271[_0x24100a(0xd3)](Number);if(_0x8af1cd['some'](_0x12fc8c=>!Number[_0x24100a(0xb3)](_0x12fc8c)||_0x12fc8c<=0x0))throw CliErrors[_0x24100a(0xcc)]('--menu-ids\x20must\x20contain\x20positive\x20safe\x20integers.');return[...new Set(_0x8af1cd)];}function parseCsv(_0x488a83){const _0x1b1671=a150_0x4d8366;return[...new Set(_0x488a83[_0x1b1671(0xac)](',')[_0x1b1671(0xd3)](_0x445bea=>_0x445bea[_0x1b1671(0xb8)]())[_0x1b1671(0xba)](Boolean))];}function parseLoadScriptMode(_0x6ea143){const _0x329598=a150_0x4d8366;if(!_0x6ea143)return undefined;if(_0x6ea143===_0x329598(0xcf)||_0x6ea143===_0x329598(0xd5)||_0x6ea143===_0x329598(0xd7))return _0x6ea143;throw CliErrors[_0x329598(0xcc)](_0x329598(0xef));}function parseParams(_0x52d372){const _0x2b9d4d=a150_0x4d8366;if(!_0x52d372)return{};try{const _0xf48f17=JSON[_0x2b9d4d(0xd1)](_0x52d372);if(typeof _0xf48f17!==_0x2b9d4d(0xbf)||_0xf48f17===null||Array[_0x2b9d4d(0x102)](_0xf48f17))return{};return{'jsUrl':typeof _0xf48f17[_0x2b9d4d(0xb4)]===_0x2b9d4d(0xfc)?_0xf48f17[_0x2b9d4d(0xb4)][_0x2b9d4d(0xb8)]():undefined,'cssUrl':typeof _0xf48f17[_0x2b9d4d(0xfa)]===_0x2b9d4d(0xfc)?_0xf48f17['cssUrl'][_0x2b9d4d(0xb8)]():undefined};}catch{return{};}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a127_0x311cf2=a127_0x2c60;(function(_0x51dd7d,_0x22361e){const _0x50a494=a127_0x2c60,_0x57cfcb=_0x51dd7d();while(!![]){try{const _0x2d88f5=-parseInt(_0x50a494(0xa3))/0x1*(parseInt(_0x50a494(0xe5))/0x2)+parseInt(_0x50a494(0xb1))/0x3*(-parseInt(_0x50a494(0xcd))/0x4)+parseInt(_0x50a494(0xd9))/0x5*(-parseInt(_0x50a494(0xa4))/0x6)+-parseInt(_0x50a494(0xdb))/0x7+-parseInt(_0x50a494(0xdf))/0x8*(-parseInt(_0x50a494(0x96))/0x9)+-parseInt(_0x50a494(0xf6))/0xa+parseInt(_0x50a494(0xf1))/0xb;if(_0x2d88f5===_0x22361e)break;else _0x57cfcb['push'](_0x57cfcb['shift']());}catch(_0x527e1c){_0x57cfcb['push'](_0x57cfcb['shift']());}}}(a127_0x2d53,0xbe7eb));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{assertMenuDeletePlanCurrent,assertMenuDeletePlanExecutable,createMenuDeletePlanFile,mutationPlanFromDeleteFile,readMenuDeletePlan,writeMenuDeletePlan}from'../../commands/menu/shared/delete-plan.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,asVerificationError,assertExpectedState,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{batchDeleteMenuEntities}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const BACKEND=[{'method':a127_0x311cf2(0xe7),'path':'/smartapi/menu/batchDelete'}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':a127_0x311cf2(0xc2)},MENU_DELETE_RECURSIVE_FLAG={'name':a127_0x311cf2(0xa2),'type':a127_0x311cf2(0xb6),'description':a127_0x311cf2(0xa5)},MENU_DELETE_PLAN_OUT_FLAG={'name':a127_0x311cf2(0xe2),'type':'string','description':a127_0x311cf2(0x8a)},MENU_DELETE_PLAN_FLAG={'name':a127_0x311cf2(0xd6),'type':'string','description':a127_0x311cf2(0x81)};export const menuDelete={'service':a127_0x311cf2(0xb2),'command':'delete','description':a127_0x311cf2(0xb4),'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'(_0x152f3a){const _0x2108a4=a127_0x311cf2;_0x152f3a[_0x2108a4(0xa8)]('dry-run')?validateDeleteDryRunInput(_0x152f3a):validateDeleteExecuteInput(_0x152f3a),requireExplicitYes(_0x152f3a);},async 'dryRun'(_0x40ceb2){const _0x4977ff=a127_0x311cf2;validateDeleteDryRunInput(_0x40ceb2);const _0x4fed52=await buildDeletePlan(_0x40ceb2),_0xe44ad5=createMenuDeletePlanFile(_0x40ceb2[_0x4977ff(0x94)],_0x4fed52),_0x3746e7=await writeMenuDeletePlan(_0x40ceb2[_0x4977ff(0xaf)](_0x4977ff(0xe2)),_0xe44ad5),_0x30f60a=mutationResult({..._0x4fed52,'planFile':{'path':_0x3746e7,'createdAt':_0xe44ad5['createdAt'],'expiresAt':_0xe44ad5[_0x4977ff(0x7d)]}});return menuDryRunResult(_0x30f60a,{'method':'POST','url':_0x4977ff(0x91),'body':{'idList':_0x30f60a[_0x4977ff(0xcf)]},'description':_0x4977ff(0x85)+(_0x30f60a[_0x4977ff(0xcf)]?.['length']??0x1)+_0x4977ff(0xea)+_0x30f60a[_0x4977ff(0xb7)]['id']+';\x20execution\x20must\x20consume\x20'+_0x3746e7+'.'});},async 'execute'(_0x56877d){const _0x222b5a=a127_0x311cf2;requireExplicitYes(_0x56877d),validateDeleteExecuteInput(_0x56877d);const _0x348b2c=await readMenuDeletePlan(_0x56877d['str'](_0x222b5a(0xd6))),_0x33f883=mutationPlanFromDeleteFile(_0x348b2c['plan'],_0x348b2c[_0x222b5a(0x7e)]),_0x15d7b6=_0x348b2c[_0x222b5a(0xd6)][_0x222b5a(0xdd)]['id'];try{assertMenuDeletePlanExecutable(_0x348b2c[_0x222b5a(0xd6)],_0x56877d[_0x222b5a(0x94)]);}catch(_0x9f4337){throw menuFailure(asMenuError(_0x9f4337),_0x33f883,{'stage':'plan-validation','failed':{'id':_0x15d7b6}});}let _0x317953,_0x2b533b;try{_0x317953=await fetchMutationSnapshot(_0x56877d,_0x222b5a(0xcb),_0x15d7b6),_0x2b533b=assertMenuDeletePlanCurrent(_0x348b2c[_0x222b5a(0xd6)],_0x56877d[_0x222b5a(0x94)],_0x317953),assertDeleteTargetsComplete(_0x348b2c[_0x222b5a(0xd6)],_0x317953),_0x2b533b[_0x222b5a(0x95)](_0x184227=>assertDeleteSafety(_0x184227,_0x348b2c[_0x222b5a(0xd6)][_0x222b5a(0xa2)])),assertNoSharedPages(_0x317953,_0x2b533b),assertCascadeMatchesPlan(_0x33f883,_0x2b533b);}catch(_0xa45713){throw menuFailure(asMenuError(_0xa45713),_0x33f883,{'stage':'pre-write-plan-validation','failed':{'id':_0x15d7b6}});}const _0x31b36a=_0x348b2c[_0x222b5a(0xd6)]['deleteOrder'];let _0x1aa5ac;try{_0x1aa5ac=await batchDeleteMenuEntities(_0x56877d[_0x222b5a(0x80)],_0x31b36a);}catch(_0x5376cf){const _0x48f30b=mapMenuApiError(_0x5376cf,_0x222b5a(0xf2)),_0x1243ed=[_0x222b5a(0xde)];let _0x176821;try{_0x176821=await readDeleteOutcome(_0x56877d,_0x31b36a);}catch(_0x112c06){const _0x1275d2=describeMenuErrorCause(_0x112c06,_0x222b5a(0xd0),_0x15d7b6);_0x1243ed[_0x222b5a(0x9b)](_0x222b5a(0xbf)+_0x1275d2[_0x222b5a(0xe9)]+_0x222b5a(0xf8)+_0x1275d2[_0x222b5a(0xfa)]);throw menuFailure(_0x48f30b,_0x33f883,{'stage':_0x222b5a(0xdc),'failed':{'targetIds':_0x31b36a,'targetIdsAbsent':_0x222b5a(0xf3),..._0x1275d2},'warnings':_0x1243ed,'verification':{'status':_0x222b5a(0xc3),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetIds':_0x31b36a}});}throw menuFailure(_0x48f30b,_0x33f883,{'stage':'batch-delete','succeeded':_0x176821[_0x222b5a(0x88)]['map'](_0x4cc90e=>({'id':_0x4cc90e,'deleted':!![]})),'failed':{'targetIds':_0x31b36a,'absentIds':_0x176821[_0x222b5a(0x88)],'remainingIds':_0x176821[_0x222b5a(0x86)]},'warnings':_0x1243ed,'verification':verificationFromOutcome(_0x176821)});}if(_0x1aa5ac!==_0x31b36a['length']){const _0x276f94=menuError(_0x222b5a(0x89),_0x222b5a(0xed)+_0x1aa5ac+'\x20deleted\x20menus;\x20expected\x20'+_0x31b36a[_0x222b5a(0xd5)]+'.',_0x222b5a(0xb0)),_0x329d16=[_0x222b5a(0x92)];let _0x58fc79;try{_0x58fc79=await readDeleteOutcome(_0x56877d,_0x31b36a);}catch(_0x16c2ad){const _0x2a33fb=describeMenuErrorCause(_0x16c2ad,_0x222b5a(0xc7),_0x15d7b6);_0x329d16['push'](_0x222b5a(0xec)+_0x2a33fb[_0x222b5a(0xe9)]+'):\x20'+_0x2a33fb[_0x222b5a(0xfa)]);throw menuFailure(_0x276f94,_0x33f883,{'stage':_0x222b5a(0xdc),'failed':{'targetIds':_0x31b36a,'expectedCount':_0x31b36a[_0x222b5a(0xd5)],'reportedDeletedCount':_0x1aa5ac,'targetIdsAbsent':_0x222b5a(0xf3),..._0x2a33fb},'warnings':_0x329d16,'verification':{'status':_0x222b5a(0xc3),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetIds':_0x31b36a}});}throw menuFailure(_0x276f94,_0x33f883,{'stage':_0x222b5a(0xdc),'succeeded':_0x58fc79[_0x222b5a(0x88)][_0x222b5a(0xd2)](_0x504765=>({'id':_0x504765,'deleted':!![]})),'failed':{'targetIds':_0x31b36a,'expectedCount':_0x31b36a[_0x222b5a(0xd5)],'reportedDeletedCount':_0x1aa5ac,'absentIds':_0x58fc79[_0x222b5a(0x88)],'remainingIds':_0x58fc79[_0x222b5a(0x86)]},'warnings':_0x329d16,'verification':verificationFromOutcome(_0x58fc79)});}let _0x15a62b;try{_0x15a62b=await readDeleteOutcome(_0x56877d,_0x31b36a);}catch(_0x5a3700){const _0x1fbe6c=describeMenuErrorCause(_0x5a3700,_0x222b5a(0x8b),_0x15d7b6),_0x4a169c=asVerificationError(_0x5a3700,'Batch\x20delete\x20request\x20for\x20menu\x20'+_0x15d7b6+_0x222b5a(0xbe));throw menuFailure(_0x4a169c,_0x33f883,{'stage':_0x222b5a(0xbd),'succeeded':_0x31b36a[_0x222b5a(0xd2)](_0x25a049=>({'id':_0x25a049,'deleteRequested':!![]})),'failed':{'id':_0x15d7b6,'targetIds':_0x31b36a,'targetIdsAbsent':_0x222b5a(0xf3),..._0x1fbe6c},'warnings':[_0x222b5a(0x84)],'verification':{'status':_0x222b5a(0xc3),'lookupCommand':_0x222b5a(0xd8),'targetIds':_0x31b36a}});}if(_0x15a62b[_0x222b5a(0x86)][_0x222b5a(0xd5)]>0x0){const _0x28e035=menuError(_0x222b5a(0xc4),'One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20'+_0x15a62b[_0x222b5a(0x86)][_0x222b5a(0xe3)](',\x20')+'.','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.');throw menuFailure(_0x28e035,_0x33f883,{'stage':_0x222b5a(0xbd),'succeeded':_0x31b36a[_0x222b5a(0xd2)](_0x341410=>({'id':_0x341410,'deleteRequested':!![]})),'failed':{'id':_0x15d7b6,'targetIds':_0x31b36a,'absentIds':_0x15a62b[_0x222b5a(0x88)],'remainingIds':_0x15a62b[_0x222b5a(0x86)]},'warnings':[_0x222b5a(0xbb)],'verification':verificationFromOutcome(_0x15a62b)});}const _0x3d994c=_0x31b36a[_0x222b5a(0xd2)](_0x4ab8d7=>({'id':_0x4ab8d7,'deleted':!![]})),_0x9adfdc=mutationResult({..._0x33f883,'dryRun':![],'succeeded':_0x3d994c,'verification':{'checkedBy':_0x222b5a(0xcc),'plannedSnapshotHash':_0x33f883[_0x222b5a(0xca)],'finalSnapshotHash':_0x15a62b['snapshot'][_0x222b5a(0x90)],'reportedDeletedCount':_0x1aa5ac,'targetAbsent':!_0x15a62b[_0x222b5a(0x83)][_0x222b5a(0xe6)][_0x222b5a(0x82)](_0x15d7b6),'allTargetsAbsent':!![],'targetIds':_0x31b36a}});return{'ok':!![],'data':_0x9adfdc,'message':'Deleted\x20'+_0x3d994c[_0x222b5a(0xd5)]+'\x20menu(s)\x20under\x20exact\x20id\x20'+_0x15d7b6+'.'};}};async function readDeleteOutcome(_0x309e97,_0x43a8f9){const _0x4b8d39=a127_0x311cf2,_0x5c3816=await fetchMenuSnapshot(_0x309e97['appCode'],_0x309e97[_0x4b8d39(0x80)]);return{'snapshot':_0x5c3816,'absentIds':_0x43a8f9[_0x4b8d39(0x97)](_0x5445d7=>!_0x5c3816['byId'][_0x4b8d39(0x82)](_0x5445d7)),'remainingIds':_0x43a8f9[_0x4b8d39(0x97)](_0x1cbd8f=>_0x5c3816[_0x4b8d39(0xe6)][_0x4b8d39(0x82)](_0x1cbd8f))};}function verificationFromOutcome(_0x111a83){const _0xd5b8f9=a127_0x311cf2;return{'checkedBy':'menu\x20list','absentIds':_0x111a83[_0xd5b8f9(0x88)],'remainingIds':_0x111a83[_0xd5b8f9(0x86)]};}function a127_0x2c60(_0x34f88c,_0x5cd0db){_0x34f88c=_0x34f88c-0x7d;const _0x2d5359=a127_0x2d53();let _0x2c600f=_0x2d5359[_0x34f88c];return _0x2c600f;}function validateDeleteDryRunInput(_0x36aa54){const _0x523c29=a127_0x311cf2;validateExactId(_0x36aa54);if(!hasFlag(_0x36aa54,'plan-out')||!_0x36aa54['str'](_0x523c29(0xe2))['trim']())throw CliErrors[_0x523c29(0xaa)]('plan-out',_0x523c29(0xeb));if(hasFlag(_0x36aa54,_0x523c29(0xd6)))throw CliErrors[_0x523c29(0xf0)]('--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.');}function validateDeleteExecuteInput(_0x32f29a){const _0x549c45=a127_0x311cf2;if(!hasFlag(_0x32f29a,_0x549c45(0xd6))||!_0x32f29a[_0x549c45(0xaf)](_0x549c45(0xd6))[_0x549c45(0xc9)]())throw CliErrors[_0x549c45(0xaa)]('plan',_0x549c45(0xd4));const _0x4691cb=['id','recursive',_0x549c45(0xe2),_0x549c45(0xa9),_0x549c45(0xb3),_0x549c45(0xee)]['filter'](_0x42ceb7=>hasFlag(_0x32f29a,_0x42ceb7));if(_0x4691cb[_0x549c45(0xd5)]>0x0)throw CliErrors[_0x549c45(0xf0)]('Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20'+_0x4691cb[_0x549c45(0xd2)](_0x1cca40=>'--'+_0x1cca40)[_0x549c45(0xe3)](',\x20')+'.');}async function buildDeletePlan(_0x3c2e5a){const _0x56d7b3=a127_0x311cf2,_0x3443ec=validateExactId(_0x3c2e5a),_0x48f68f=await fetchMutationSnapshot(_0x3c2e5a,_0x56d7b3(0xe8),_0x3443ec),_0x4303f0=requireMenu(_0x48f68f,_0x3443ec);assertExpectedState(_0x3c2e5a,_0x4303f0);const _0x266d8c=_0x3c2e5a[_0x56d7b3(0xa8)](_0x56d7b3(0xa2));let _0x504209;if(_0x266d8c){if(_0x4303f0[_0x56d7b3(0xbc)][_0x56d7b3(0xc9)]()[_0x56d7b3(0xb9)]()!==_0x56d7b3(0x7f))throw menuError(_0x56d7b3(0xad),_0x56d7b3(0xef)+_0x4303f0['id']+'\x20is\x20type\x20\x22'+(_0x4303f0[_0x56d7b3(0xbc)]||_0x56d7b3(0x8e))+_0x56d7b3(0xa1));_0x504209=collectDeleteTargets(_0x48f68f,_0x4303f0),_0x504209[_0x56d7b3(0x95)](_0x329704=>assertDeleteSafety(_0x329704,!![]));}else assertDeleteSafety(_0x4303f0),_0x504209=[_0x4303f0];assertNoSharedPages(_0x48f68f,_0x504209);const _0x1e17e1=_0x504209['map'](_0x3d18b5=>_0x3d18b5['id']),_0x4ee5d3=cascadeForTargets(_0x504209),_0x2e0fdd=_0x4ee5d3[_0x56d7b3(0xc5)][_0x56d7b3(0xd5)]>0x0?[_0x56d7b3(0xfc)]:[];return mutationResult({'operation':_0x56d7b3(0xa7),'selector':{'id':_0x3443ec,'recursive':_0x266d8c},'before':_0x4303f0,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':_0x56d7b3(0x9c),'method':_0x56d7b3(0xe7),'path':_0x56d7b3(0x91),'body':{'idList':_0x1e17e1}}],'targets':_0x504209,'deleteOrder':_0x1e17e1,'snapshotHash':_0x48f68f[_0x56d7b3(0x90)],'cascade':_0x4ee5d3,'warnings':_0x2e0fdd});}function assertDeleteSafety(_0x20ca53,_0x474f9b=![]){const _0xd7ad24=a127_0x311cf2,_0x318e50=_0x20ca53[_0xd7ad24(0xbc)]['trim']()[_0xd7ad24(0xb9)]()===_0xd7ad24(0x7f);if(_0x20ca53[_0xd7ad24(0x99)]>0x0&&(!_0x474f9b||!_0x318e50))throw menuError(_0xd7ad24(0x98),_0xd7ad24(0xef)+_0x20ca53['id']+'\x20has\x20'+_0x20ca53[_0xd7ad24(0x99)]+_0xd7ad24(0xc0),'Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20'+_0x20ca53[_0xd7ad24(0x8d)][_0xd7ad24(0xe3)](',\x20'));if(_0x318e50&&_0x20ca53[_0xd7ad24(0x9f)]!=null)throw menuError(_0xd7ad24(0xd7),_0xd7ad24(0xab)+_0x20ca53['id']+_0xd7ad24(0xe4)+_0x20ca53['pageId']+_0xd7ad24(0xda),_0xd7ad24(0xc8));if(!_0x318e50)return;if(!_0x20ca53[_0xd7ad24(0xac)])throw menuError('menu_folder_resources_invalid',_0xd7ad24(0xab)+_0x20ca53['id']+_0xd7ad24(0xd3),'Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.');if(_0x20ca53[_0xd7ad24(0xb5)]['length']>0x0)throw menuError('menu_folder_has_resources',_0xd7ad24(0xab)+_0x20ca53['id']+_0xd7ad24(0xe1)+_0x20ca53[_0xd7ad24(0xb5)][_0xd7ad24(0xd5)]+_0xd7ad24(0xf5),_0xd7ad24(0xa6));}function collectDeleteTargets(_0x27d6c9,_0x127e59){const _0x5cdf24=[],_0x395848=new Set(),_0xda90e0=new Set(),_0x719cbb=_0x2fb1d4=>{const _0x83669a=a127_0x2c60;if(_0x395848[_0x83669a(0x82)](_0x2fb1d4['id']))throw menuError(_0x83669a(0xce),_0x83669a(0xc1)+_0x2fb1d4['id']+'.');if(_0xda90e0[_0x83669a(0x82)](_0x2fb1d4['id']))return;_0x395848[_0x83669a(0xba)](_0x2fb1d4['id']);for(const _0x319e2c of _0x2fb1d4['childrenIds']){const _0x45ab53=_0x27d6c9[_0x83669a(0xe6)][_0x83669a(0xb8)](_0x319e2c);if(!_0x45ab53)throw menuError('menu_tree_invalid',_0x83669a(0xef)+_0x2fb1d4['id']+_0x83669a(0x8f)+_0x319e2c+'.');_0x719cbb(_0x45ab53);}_0x395848['delete'](_0x2fb1d4['id']),_0xda90e0[_0x83669a(0xba)](_0x2fb1d4['id']),_0x5cdf24[_0x83669a(0x9b)](_0x2fb1d4);};return _0x719cbb(_0x127e59),_0x5cdf24;}function a127_0x2d53(){const _0x5b187c=['Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.','Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.','expiresAt','path','folder','cookie','Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out','has','snapshot','The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','Would\x20batch\x20delete\x20','remainingIds','Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.','absentIds','menu_batch_delete_count_mismatch','Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file','verify\x20batch\x20delete','\x20->\x20menu\x20','childrenIds','unknown','\x20references\x20missing\x20child\x20','hash','/smartapi/menu/batchDelete','The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.','menu_plan_invalid','appCode','forEach','9eJdtNC','filter','menu_non_empty','childrenCount','stringify','push','batch-delete-menu','\x20is\x20not\x20a\x20folder.','cascade','pageId','Recursive\x20menu\x20delete\x20plan\x20root\x20','\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.','recursive','285283fHTsMJ','239544rTsnzF','Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first','Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.','delete','bool','expect-parent-id','flagMissing','Folder\x20','resourcesValid','menu_recursive_requires_folder','page\x20','str','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','1061979WbaRuY','menu','expect-path','Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','resources','boolean','selector','get','toLowerCase','add','The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.','type','verification','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence','Post-failure\x20menu\x20readback\x20failed\x20(','\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.','Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20','Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)','failed','menu_verification_failed','pages','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.','read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch','Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.','trim','snapshotHash','execute\x20reviewed\x20delete\x20plan','menu\x20list','4VgpSgp','menu_tree_invalid','deleteOrder','read\x20menu\x20state\x20after\x20batch\x20delete\x20failure','size','map','\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.','--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.','length','plan','menu_delete_page_bound','rabetbase\x20menu\x20list\x20--format\x20json','160JXcLHs','\x20and\x20cannot\x20be\x20deleted\x20safely.','3903452wpsUgO','batch-delete','target','The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.','9186344qBGUrS','menu_page_shared','\x20still\x20references\x20','plan-out','join','\x20is\x20unexpectedly\x20bound\x20to\x20page\x20','4IKnpZs','byId','POST','plan\x20delete','causeCode','\x20menu(s)\x20under\x20exact\x20id\x20','--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.','Post-mismatch\x20menu\x20readback\x20failed\x20(','Backend\x20reported\x20','expected-children-count','Menu\x20','validation','32847870feFcYA','batch\x20delete','unconfirmed','indexOf','\x20resource\x20URL(s).','5944330pwxTAp','Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20','):\x20','message','causeMessage'];a127_0x2d53=function(){return _0x5b187c;};return a127_0x2d53();}function assertDeleteTargetsComplete(_0x18ead9,_0x3bea17){const _0x14f2d4=a127_0x311cf2,_0x294efa=requireMenu(_0x3bea17,_0x18ead9[_0x14f2d4(0xdd)]['id']);if(_0x18ead9[_0x14f2d4(0xa2)]&&_0x294efa[_0x14f2d4(0xbc)][_0x14f2d4(0xc9)]()[_0x14f2d4(0xb9)]()!=='folder')throw menuError('menu_plan_invalid',_0x14f2d4(0xa0)+_0x294efa['id']+_0x14f2d4(0x9d));const _0x3990bf=_0x18ead9['recursive']?collectDeleteTargets(_0x3bea17,_0x294efa)['map'](_0x44f61f=>_0x44f61f['id']):[_0x294efa['id']];if(JSON['stringify'](_0x18ead9[_0x14f2d4(0xcf)])!==JSON['stringify'](_0x3990bf))throw menuError(_0x14f2d4(0x93),_0x14f2d4(0x87),'Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.');}function assertNoSharedPages(_0x1e7081,_0x38fa2d){const _0x5be0ca=a127_0x311cf2,_0x5cc8d1=new Set(_0x38fa2d['map'](_0x1610a4=>_0x1610a4['id'])),_0x12a433=new Set(_0x38fa2d[_0x5be0ca(0xd2)](_0x36c9af=>_0x36c9af[_0x5be0ca(0x9f)])[_0x5be0ca(0x97)](_0x17fe6d=>_0x17fe6d!=null));if(_0x12a433[_0x5be0ca(0xd1)]===0x0)return;const _0x2c33e6=_0x1e7081['menus'][_0x5be0ca(0x97)](_0x23b860=>!_0x5cc8d1[_0x5be0ca(0x82)](_0x23b860['id'])&&_0x23b860[_0x5be0ca(0x9f)]!=null&&_0x12a433[_0x5be0ca(0x82)](_0x23b860['pageId']));if(_0x2c33e6[_0x5be0ca(0xd5)]===0x0)return;const _0x226f6b=_0x2c33e6[_0x5be0ca(0xd2)](_0x2d74f2=>_0x5be0ca(0xae)+_0x2d74f2[_0x5be0ca(0x9f)]+_0x5be0ca(0x8c)+_0x2d74f2['id'])[_0x5be0ca(0xe3)](',\x20');throw menuError(_0x5be0ca(0xe0),_0x5be0ca(0xf7)+_0x226f6b+'.',_0x5be0ca(0xc6));}function assertCascadeMatchesPlan(_0x48ad32,_0x5da493){const _0x1ca8d3=a127_0x311cf2,_0x3a30a=cascadeForTargets(_0x5da493);if(JSON['stringify'](_0x48ad32[_0x1ca8d3(0x9e)])!==JSON[_0x1ca8d3(0x9a)](_0x3a30a))throw menuError(_0x1ca8d3(0x93),_0x1ca8d3(0xfb));}function cascadeForTargets(_0x493e6e){const _0x2f9f77=a127_0x311cf2,_0x4a3f94=_0x493e6e['map'](_0x237a59=>_0x237a59[_0x2f9f77(0x9f)])[_0x2f9f77(0x97)](_0x2d6cb5=>_0x2d6cb5!=null)['filter']((_0x7d9fa6,_0x2cfddc,_0x3c5a75)=>_0x3c5a75[_0x2f9f77(0xf4)](_0x7d9fa6)===_0x2cfddc);return{'pages':_0x4a3f94,'pageSchemaAffected':_0x4a3f94[_0x2f9f77(0xd5)]>0x0};}function asMenuError(_0x2e8c62){const _0x29b170=a127_0x311cf2;return _0x2e8c62 instanceof CliError?_0x2e8c62:menuError('menu_plan_invalid',_0x2e8c62 instanceof Error?_0x2e8c62[_0x29b170(0xf9)]:String(_0x2e8c62));}
|
|
1
|
+
const a151_0x5857a7=a151_0x13c9;(function(_0x2b028f,_0x246f43){const _0x4de676=a151_0x13c9,_0x5008df=_0x2b028f();while(!![]){try{const _0x5854bf=parseInt(_0x4de676(0x170))/0x1*(-parseInt(_0x4de676(0x13d))/0x2)+parseInt(_0x4de676(0x15c))/0x3*(-parseInt(_0x4de676(0x166))/0x4)+parseInt(_0x4de676(0x12d))/0x5*(-parseInt(_0x4de676(0x136))/0x6)+parseInt(_0x4de676(0x109))/0x7+parseInt(_0x4de676(0x171))/0x8+-parseInt(_0x4de676(0x157))/0x9+parseInt(_0x4de676(0x11f))/0xa*(parseInt(_0x4de676(0x182))/0xb);if(_0x5854bf===_0x246f43)break;else _0x5008df['push'](_0x5008df['shift']());}catch(_0x374958){_0x5008df['push'](_0x5008df['shift']());}}}(a151_0x254f,0x8fa98));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{assertMenuDeletePlanCurrent,assertMenuDeletePlanExecutable,createMenuDeletePlanFile,mutationPlanFromDeleteFile,readMenuDeletePlan,writeMenuDeletePlan}from'../../commands/menu/shared/delete-plan.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,asVerificationError,assertExpectedState,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{batchDeleteMenuEntities}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const BACKEND=[{'method':'POST','path':a151_0x5857a7(0x112)}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':a151_0x5857a7(0x16f)},MENU_DELETE_RECURSIVE_FLAG={'name':a151_0x5857a7(0x178),'type':a151_0x5857a7(0x174),'description':'Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first'},MENU_DELETE_PLAN_OUT_FLAG={'name':a151_0x5857a7(0x12a),'type':a151_0x5857a7(0x133),'description':a151_0x5857a7(0x141)},MENU_DELETE_PLAN_FLAG={'name':a151_0x5857a7(0x13b),'type':a151_0x5857a7(0x133),'description':a151_0x5857a7(0x120)};export const menuDelete={'service':a151_0x5857a7(0x15f),'command':a151_0x5857a7(0x16c),'description':a151_0x5857a7(0x177),'risk':a151_0x5857a7(0x131),'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'(_0x5a9ecb){_0x5a9ecb['bool']('dry-run')?validateDeleteDryRunInput(_0x5a9ecb):validateDeleteExecuteInput(_0x5a9ecb),requireExplicitYes(_0x5a9ecb);},async 'dryRun'(_0x12c98c){const _0x44d7a4=a151_0x5857a7;validateDeleteDryRunInput(_0x12c98c);const _0x7ceff6=await buildDeletePlan(_0x12c98c),_0x4dd61a=createMenuDeletePlanFile(_0x12c98c[_0x44d7a4(0x113)],_0x7ceff6),_0x50c87d=await writeMenuDeletePlan(_0x12c98c[_0x44d7a4(0x152)](_0x44d7a4(0x12a)),_0x4dd61a),_0x3e8260=mutationResult({..._0x7ceff6,'planFile':{'path':_0x50c87d,'createdAt':_0x4dd61a[_0x44d7a4(0x127)],'expiresAt':_0x4dd61a[_0x44d7a4(0x156)]}});return menuDryRunResult(_0x3e8260,{'method':_0x44d7a4(0x15a),'url':'/smartapi/menu/batchDelete','body':{'idList':_0x3e8260['deleteOrder']},'description':_0x44d7a4(0x116)+(_0x3e8260[_0x44d7a4(0x11c)]?.[_0x44d7a4(0x179)]??0x1)+_0x44d7a4(0x150)+_0x3e8260['selector']['id']+_0x44d7a4(0x13f)+_0x50c87d+'.'});},async 'execute'(_0x59e156){const _0x3111e9=a151_0x5857a7;requireExplicitYes(_0x59e156),validateDeleteExecuteInput(_0x59e156);const _0x4bde4d=await readMenuDeletePlan(_0x59e156[_0x3111e9(0x152)]('plan')),_0x8d07ed=mutationPlanFromDeleteFile(_0x4bde4d[_0x3111e9(0x13b)],_0x4bde4d[_0x3111e9(0x167)]),_0x320cd2=_0x4bde4d[_0x3111e9(0x13b)][_0x3111e9(0x181)]['id'];try{assertMenuDeletePlanExecutable(_0x4bde4d[_0x3111e9(0x13b)],_0x59e156[_0x3111e9(0x113)]);}catch(_0x27bf7c){throw menuFailure(asMenuError(_0x27bf7c),_0x8d07ed,{'stage':_0x3111e9(0x15b),'failed':{'id':_0x320cd2}});}let _0x4ff899,_0x3fa9b1;try{_0x4ff899=await fetchMutationSnapshot(_0x59e156,_0x3111e9(0x10d),_0x320cd2),_0x3fa9b1=assertMenuDeletePlanCurrent(_0x4bde4d[_0x3111e9(0x13b)],_0x59e156[_0x3111e9(0x113)],_0x4ff899),assertDeleteTargetsComplete(_0x4bde4d['plan'],_0x4ff899),_0x3fa9b1['forEach'](_0x1f5c1b=>assertDeleteSafety(_0x1f5c1b,_0x4bde4d[_0x3111e9(0x13b)][_0x3111e9(0x178)])),assertNoSharedPages(_0x4ff899,_0x3fa9b1),assertCascadeMatchesPlan(_0x8d07ed,_0x3fa9b1);}catch(_0xead721){throw menuFailure(asMenuError(_0xead721),_0x8d07ed,{'stage':_0x3111e9(0x187),'failed':{'id':_0x320cd2}});}const _0x23ebac=_0x4bde4d[_0x3111e9(0x13b)][_0x3111e9(0x11c)];let _0x71ffaf;try{_0x71ffaf=await batchDeleteMenuEntities(_0x59e156['cookie'],_0x23ebac);}catch(_0x1522f4){const _0x5814ec=mapMenuApiError(_0x1522f4,'batch\x20delete'),_0x3e309e=[_0x3111e9(0x148)];let _0x1bf67f;try{_0x1bf67f=await readDeleteOutcome(_0x59e156,_0x23ebac);}catch(_0x229e56){const _0x239cb4=describeMenuErrorCause(_0x229e56,_0x3111e9(0x14f),_0x320cd2);_0x3e309e[_0x3111e9(0x14c)](_0x3111e9(0x15e)+_0x239cb4[_0x3111e9(0x10e)]+_0x3111e9(0x16e)+_0x239cb4[_0x3111e9(0x154)]);throw menuFailure(_0x5814ec,_0x8d07ed,{'stage':_0x3111e9(0x186),'failed':{'targetIds':_0x23ebac,'targetIdsAbsent':_0x3111e9(0x16a),..._0x239cb4},'warnings':_0x3e309e,'verification':{'status':'failed','lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetIds':_0x23ebac}});}throw menuFailure(_0x5814ec,_0x8d07ed,{'stage':_0x3111e9(0x186),'succeeded':_0x1bf67f[_0x3111e9(0x12f)]['map'](_0x2f3b77=>({'id':_0x2f3b77,'deleted':!![]})),'failed':{'targetIds':_0x23ebac,'absentIds':_0x1bf67f[_0x3111e9(0x12f)],'remainingIds':_0x1bf67f[_0x3111e9(0x14a)]},'warnings':_0x3e309e,'verification':verificationFromOutcome(_0x1bf67f)});}if(_0x71ffaf!==_0x23ebac[_0x3111e9(0x179)]){const _0x119d1c=menuError(_0x3111e9(0x149),_0x3111e9(0x110)+_0x71ffaf+_0x3111e9(0x14e)+_0x23ebac[_0x3111e9(0x179)]+'.',_0x3111e9(0x162)),_0x2a096b=['The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.'];let _0x6bd04a;try{_0x6bd04a=await readDeleteOutcome(_0x59e156,_0x23ebac);}catch(_0x22f859){const _0x38dd79=describeMenuErrorCause(_0x22f859,_0x3111e9(0x124),_0x320cd2);_0x2a096b['push'](_0x3111e9(0x123)+_0x38dd79[_0x3111e9(0x10e)]+'):\x20'+_0x38dd79[_0x3111e9(0x154)]);throw menuFailure(_0x119d1c,_0x8d07ed,{'stage':_0x3111e9(0x186),'failed':{'targetIds':_0x23ebac,'expectedCount':_0x23ebac['length'],'reportedDeletedCount':_0x71ffaf,'targetIdsAbsent':_0x3111e9(0x16a),..._0x38dd79},'warnings':_0x2a096b,'verification':{'status':_0x3111e9(0x159),'lookupCommand':_0x3111e9(0x143),'targetIds':_0x23ebac}});}throw menuFailure(_0x119d1c,_0x8d07ed,{'stage':'batch-delete','succeeded':_0x6bd04a[_0x3111e9(0x12f)]['map'](_0x1b4a19=>({'id':_0x1b4a19,'deleted':!![]})),'failed':{'targetIds':_0x23ebac,'expectedCount':_0x23ebac['length'],'reportedDeletedCount':_0x71ffaf,'absentIds':_0x6bd04a[_0x3111e9(0x12f)],'remainingIds':_0x6bd04a[_0x3111e9(0x14a)]},'warnings':_0x2a096b,'verification':verificationFromOutcome(_0x6bd04a)});}let _0x366738;try{_0x366738=await readDeleteOutcome(_0x59e156,_0x23ebac);}catch(_0x226d95){const _0x27aef1=describeMenuErrorCause(_0x226d95,_0x3111e9(0x10c),_0x320cd2),_0x24a6a0=asVerificationError(_0x226d95,'Batch\x20delete\x20request\x20for\x20menu\x20'+_0x320cd2+_0x3111e9(0x139));throw menuFailure(_0x24a6a0,_0x8d07ed,{'stage':_0x3111e9(0x138),'succeeded':_0x23ebac[_0x3111e9(0x14d)](_0x59cc51=>({'id':_0x59cc51,'deleteRequested':!![]})),'failed':{'id':_0x320cd2,'targetIds':_0x23ebac,'targetIdsAbsent':_0x3111e9(0x16a),..._0x27aef1},'warnings':[_0x3111e9(0x115)],'verification':{'status':'failed','lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetIds':_0x23ebac}});}if(_0x366738[_0x3111e9(0x14a)]['length']>0x0){const _0x198582=menuError(_0x3111e9(0x165),_0x3111e9(0x128)+_0x366738['remainingIds'][_0x3111e9(0x180)](',\x20')+'.',_0x3111e9(0x162));throw menuFailure(_0x198582,_0x8d07ed,{'stage':_0x3111e9(0x138),'succeeded':_0x23ebac[_0x3111e9(0x14d)](_0x5ad34b=>({'id':_0x5ad34b,'deleteRequested':!![]})),'failed':{'id':_0x320cd2,'targetIds':_0x23ebac,'absentIds':_0x366738['absentIds'],'remainingIds':_0x366738['remainingIds']},'warnings':[_0x3111e9(0x151)],'verification':verificationFromOutcome(_0x366738)});}const _0xeb6216=_0x23ebac[_0x3111e9(0x14d)](_0x3230b7=>({'id':_0x3230b7,'deleted':!![]})),_0x538fe7=mutationResult({..._0x8d07ed,'dryRun':![],'succeeded':_0xeb6216,'verification':{'checkedBy':_0x3111e9(0x13c),'plannedSnapshotHash':_0x8d07ed[_0x3111e9(0x144)],'finalSnapshotHash':_0x366738[_0x3111e9(0x176)]['hash'],'reportedDeletedCount':_0x71ffaf,'targetAbsent':!_0x366738[_0x3111e9(0x176)]['byId']['has'](_0x320cd2),'allTargetsAbsent':!![],'targetIds':_0x23ebac}});return{'ok':!![],'data':_0x538fe7,'message':'Deleted\x20'+_0xeb6216[_0x3111e9(0x179)]+_0x3111e9(0x150)+_0x320cd2+'.'};}};async function readDeleteOutcome(_0x2e2da3,_0x1196a1){const _0x20370d=a151_0x5857a7,_0x47ac02=await fetchMenuSnapshot(_0x2e2da3[_0x20370d(0x113)],_0x2e2da3[_0x20370d(0x17e)]);return{'snapshot':_0x47ac02,'absentIds':_0x1196a1[_0x20370d(0x188)](_0x4ef42d=>!_0x47ac02['byId'][_0x20370d(0x164)](_0x4ef42d)),'remainingIds':_0x1196a1['filter'](_0x1cd245=>_0x47ac02[_0x20370d(0x17a)]['has'](_0x1cd245))};}function verificationFromOutcome(_0xbcb7f7){const _0x54fb05=a151_0x5857a7;return{'checkedBy':_0x54fb05(0x13c),'absentIds':_0xbcb7f7[_0x54fb05(0x12f)],'remainingIds':_0xbcb7f7[_0x54fb05(0x14a)]};}function validateDeleteDryRunInput(_0x54b217){const _0x446ee2=a151_0x5857a7;validateExactId(_0x54b217);if(!hasFlag(_0x54b217,'plan-out')||!_0x54b217[_0x446ee2(0x152)]('plan-out')[_0x446ee2(0x111)]())throw CliErrors[_0x446ee2(0x153)](_0x446ee2(0x12a),_0x446ee2(0x168));if(hasFlag(_0x54b217,_0x446ee2(0x13b)))throw CliErrors['validation']('--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.');}function a151_0x254f(){const _0x477a96=['POST','plan-validation','138JMDphe','\x20->\x20menu\x20','Post-failure\x20menu\x20readback\x20failed\x20(','menu','resourcesValid','menu_plan_invalid','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','\x20is\x20type\x20\x22','has','menu_verification_failed','75708ZedfQp','path','--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.','Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.','unconfirmed','menu_non_empty','delete','Menu\x20','):\x20','Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)','18nlySGm','2591344FcKGxN','menus','hash','boolean','\x20references\x20missing\x20child\x20','snapshot','Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','recursive','length','byId','type','folder','Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.','cookie','unknown','join','target','1278211hsoDvH','childrenIds','\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.','--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.','batch-delete','pre-write-plan-validation','filter','6972462cqMbgk','validation','Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20','verify\x20batch\x20delete','execute\x20reviewed\x20delete\x20plan','causeCode','menu_delete_page_bound','Backend\x20reported\x20','trim','/smartapi/menu/batchDelete','appCode','pages','The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','Would\x20batch\x20delete\x20','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.','toLowerCase','stringify','get','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.','deleteOrder','batch-delete-menu','pageId','230BLzicP','Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out','menu_folder_resources_invalid','Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.','Post-mismatch\x20menu\x20readback\x20failed\x20(','read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch','\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.','Recursive\x20menu\x20delete\x20plan\x20root\x20','createdAt','One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20','\x20still\x20references\x20','plan-out','Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20','menu_recursive_requires_folder','22555DbRHxs','forEach','absentIds','bool','high-risk-write','\x20has\x20','string','indexOf','Folder\x20','1446aibCnD','Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20','verification','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence','expected-children-count','plan','menu\x20list','97258mjtbar','size',';\x20execution\x20must\x20consume\x20','Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.','Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file','Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20','rabetbase\x20menu\x20list\x20--format\x20json','snapshotHash','\x20and\x20cannot\x20be\x20deleted\x20safely.','Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.','menu_tree_invalid','The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.','menu_batch_delete_count_mismatch','remainingIds','add','push','map','\x20deleted\x20menus;\x20expected\x20','read\x20menu\x20state\x20after\x20batch\x20delete\x20failure','\x20menu(s)\x20under\x20exact\x20id\x20','The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.','str','flagMissing','causeMessage','\x20resource\x20URL(s).','expiresAt','5139468UgUcHF','expect-path','failed'];a151_0x254f=function(){return _0x477a96;};return a151_0x254f();}function validateDeleteExecuteInput(_0x187d85){const _0x475f88=a151_0x5857a7;if(!hasFlag(_0x187d85,_0x475f88(0x13b))||!_0x187d85[_0x475f88(0x152)](_0x475f88(0x13b))[_0x475f88(0x111)]())throw CliErrors[_0x475f88(0x153)]('plan',_0x475f88(0x185));const _0x2d0f21=['id',_0x475f88(0x178),_0x475f88(0x12a),'expect-parent-id',_0x475f88(0x158),_0x475f88(0x13a)]['filter'](_0x49b4ca=>hasFlag(_0x187d85,_0x49b4ca));if(_0x2d0f21[_0x475f88(0x179)]>0x0)throw CliErrors[_0x475f88(0x10a)](_0x475f88(0x142)+_0x2d0f21[_0x475f88(0x14d)](_0x30f66b=>'--'+_0x30f66b)[_0x475f88(0x180)](',\x20')+'.');}async function buildDeletePlan(_0x335bd7){const _0x10349c=a151_0x5857a7,_0xa29e79=validateExactId(_0x335bd7),_0x4e4773=await fetchMutationSnapshot(_0x335bd7,'plan\x20delete',_0xa29e79),_0x235ef6=requireMenu(_0x4e4773,_0xa29e79);assertExpectedState(_0x335bd7,_0x235ef6);const _0x558a79=_0x335bd7[_0x10349c(0x130)](_0x10349c(0x178));let _0x465c85;if(_0x558a79){if(_0x235ef6[_0x10349c(0x17b)][_0x10349c(0x111)]()['toLowerCase']()!==_0x10349c(0x17c))throw menuError(_0x10349c(0x12c),_0x10349c(0x16d)+_0x235ef6['id']+_0x10349c(0x163)+(_0x235ef6['type']||_0x10349c(0x17f))+_0x10349c(0x184));_0x465c85=collectDeleteTargets(_0x4e4773,_0x235ef6),_0x465c85[_0x10349c(0x12e)](_0x27fcea=>assertDeleteSafety(_0x27fcea,!![]));}else assertDeleteSafety(_0x235ef6),_0x465c85=[_0x235ef6];assertNoSharedPages(_0x4e4773,_0x465c85);const _0x3b3970=_0x465c85[_0x10349c(0x14d)](_0x363276=>_0x363276['id']),_0x3bbf74=cascadeForTargets(_0x465c85),_0x50c504=_0x3bbf74[_0x10349c(0x114)][_0x10349c(0x179)]>0x0?[_0x10349c(0x122)]:[];return mutationResult({'operation':_0x10349c(0x16c),'selector':{'id':_0xa29e79,'recursive':_0x558a79},'before':_0x235ef6,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':_0x10349c(0x11d),'method':_0x10349c(0x15a),'path':'/smartapi/menu/batchDelete','body':{'idList':_0x3b3970}}],'targets':_0x465c85,'deleteOrder':_0x3b3970,'snapshotHash':_0x4e4773[_0x10349c(0x173)],'cascade':_0x3bbf74,'warnings':_0x50c504});}function assertDeleteSafety(_0x3ceeb1,_0x4b00dd=![]){const _0x56a9cb=a151_0x5857a7,_0x56a524=_0x3ceeb1['type'][_0x56a9cb(0x111)]()[_0x56a9cb(0x118)]()===_0x56a9cb(0x17c);if(_0x3ceeb1['childrenCount']>0x0&&(!_0x4b00dd||!_0x56a524))throw menuError(_0x56a9cb(0x16b),_0x56a9cb(0x16d)+_0x3ceeb1['id']+_0x56a9cb(0x132)+_0x3ceeb1['childrenCount']+_0x56a9cb(0x125),_0x56a9cb(0x137)+_0x3ceeb1[_0x56a9cb(0x183)][_0x56a9cb(0x180)](',\x20'));if(_0x56a524&&_0x3ceeb1[_0x56a9cb(0x11e)]!=null)throw menuError(_0x56a9cb(0x10f),_0x56a9cb(0x135)+_0x3ceeb1['id']+'\x20is\x20unexpectedly\x20bound\x20to\x20page\x20'+_0x3ceeb1['pageId']+_0x56a9cb(0x145),'Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.');if(!_0x56a524)return;if(!_0x3ceeb1[_0x56a9cb(0x160)])throw menuError(_0x56a9cb(0x121),_0x56a9cb(0x135)+_0x3ceeb1['id']+'\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.',_0x56a9cb(0x146));if(_0x3ceeb1['resources'][_0x56a9cb(0x179)]>0x0)throw menuError('menu_folder_has_resources',_0x56a9cb(0x135)+_0x3ceeb1['id']+_0x56a9cb(0x129)+_0x3ceeb1['resources']['length']+_0x56a9cb(0x155),_0x56a9cb(0x140));}function a151_0x13c9(_0x21328f,_0x5d7abb){_0x21328f=_0x21328f-0x109;const _0x254fba=a151_0x254f();let _0x13c9c9=_0x254fba[_0x21328f];return _0x13c9c9;}function collectDeleteTargets(_0x81a477,_0x446bf8){const _0x1b7a74=[],_0x28fcd9=new Set(),_0x5de3ad=new Set(),_0x9b8c65=_0x141ecb=>{const _0x1b324e=a151_0x13c9;if(_0x28fcd9[_0x1b324e(0x164)](_0x141ecb['id']))throw menuError('menu_tree_invalid',_0x1b324e(0x12b)+_0x141ecb['id']+'.');if(_0x5de3ad[_0x1b324e(0x164)](_0x141ecb['id']))return;_0x28fcd9[_0x1b324e(0x14b)](_0x141ecb['id']);for(const _0x522bf9 of _0x141ecb[_0x1b324e(0x183)]){const _0x2144f6=_0x81a477[_0x1b324e(0x17a)][_0x1b324e(0x11a)](_0x522bf9);if(!_0x2144f6)throw menuError(_0x1b324e(0x147),_0x1b324e(0x16d)+_0x141ecb['id']+_0x1b324e(0x175)+_0x522bf9+'.');_0x9b8c65(_0x2144f6);}_0x28fcd9[_0x1b324e(0x16c)](_0x141ecb['id']),_0x5de3ad[_0x1b324e(0x14b)](_0x141ecb['id']),_0x1b7a74['push'](_0x141ecb);};return _0x9b8c65(_0x446bf8),_0x1b7a74;}function assertDeleteTargetsComplete(_0x44fc92,_0x53e221){const _0x253787=a151_0x5857a7,_0x36e569=requireMenu(_0x53e221,_0x44fc92['target']['id']);if(_0x44fc92[_0x253787(0x178)]&&_0x36e569[_0x253787(0x17b)][_0x253787(0x111)]()[_0x253787(0x118)]()!=='folder')throw menuError(_0x253787(0x161),_0x253787(0x126)+_0x36e569['id']+'\x20is\x20not\x20a\x20folder.');const _0x3b7f4f=_0x44fc92[_0x253787(0x178)]?collectDeleteTargets(_0x53e221,_0x36e569)[_0x253787(0x14d)](_0x1992f1=>_0x1992f1['id']):[_0x36e569['id']];if(JSON[_0x253787(0x119)](_0x44fc92[_0x253787(0x11c)])!==JSON[_0x253787(0x119)](_0x3b7f4f))throw menuError(_0x253787(0x161),_0x253787(0x17d),_0x253787(0x11b));}function assertNoSharedPages(_0x47fa7d,_0x52f966){const _0x7b9507=a151_0x5857a7,_0x4c1be9=new Set(_0x52f966[_0x7b9507(0x14d)](_0x988f9e=>_0x988f9e['id'])),_0x59889a=new Set(_0x52f966[_0x7b9507(0x14d)](_0x1492c1=>_0x1492c1[_0x7b9507(0x11e)])[_0x7b9507(0x188)](_0x4609ca=>_0x4609ca!=null));if(_0x59889a[_0x7b9507(0x13e)]===0x0)return;const _0x532a91=_0x47fa7d[_0x7b9507(0x172)][_0x7b9507(0x188)](_0x5b8c35=>!_0x4c1be9[_0x7b9507(0x164)](_0x5b8c35['id'])&&_0x5b8c35[_0x7b9507(0x11e)]!=null&&_0x59889a[_0x7b9507(0x164)](_0x5b8c35[_0x7b9507(0x11e)]));if(_0x532a91[_0x7b9507(0x179)]===0x0)return;const _0x4d8d16=_0x532a91[_0x7b9507(0x14d)](_0x1c9ded=>'page\x20'+_0x1c9ded[_0x7b9507(0x11e)]+_0x7b9507(0x15d)+_0x1c9ded['id'])['join'](',\x20');throw menuError('menu_page_shared',_0x7b9507(0x10b)+_0x4d8d16+'.',_0x7b9507(0x117));}function assertCascadeMatchesPlan(_0x18b3c4,_0x537c01){const _0x169b53=a151_0x5857a7,_0x3207af=cascadeForTargets(_0x537c01);if(JSON[_0x169b53(0x119)](_0x18b3c4['cascade'])!==JSON[_0x169b53(0x119)](_0x3207af))throw menuError(_0x169b53(0x161),_0x169b53(0x169));}function cascadeForTargets(_0x3304f2){const _0x38921b=a151_0x5857a7,_0x40ed65=_0x3304f2[_0x38921b(0x14d)](_0x5cdc06=>_0x5cdc06[_0x38921b(0x11e)])['filter'](_0x1d8dc2=>_0x1d8dc2!=null)[_0x38921b(0x188)]((_0x1b0cc6,_0x110aea,_0x3796a2)=>_0x3796a2[_0x38921b(0x134)](_0x1b0cc6)===_0x110aea);return{'pages':_0x40ed65,'pageSchemaAffected':_0x40ed65[_0x38921b(0x179)]>0x0};}function asMenuError(_0x5d0507){const _0x57a792=a151_0x5857a7;return _0x5d0507 instanceof CliError?_0x5d0507:menuError(_0x57a792(0x161),_0x5d0507 instanceof Error?_0x5d0507['message']:String(_0x5d0507));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a128_0x5906(_0x14ff81,_0x34e3ed){_0x14ff81=_0x14ff81-0x91;const _0x2c9740=a128_0x2c97();let _0x5906b9=_0x2c9740[_0x14ff81];return _0x5906b9;}const a128_0x230a13=a128_0x5906;(function(_0x350d71,_0x31e377){const _0xaaf9d1=a128_0x5906,_0x28dbb2=_0x350d71();while(!![]){try{const _0x1ef3b1=-parseInt(_0xaaf9d1(0x93))/0x1*(parseInt(_0xaaf9d1(0xfe))/0x2)+-parseInt(_0xaaf9d1(0x114))/0x3*(-parseInt(_0xaaf9d1(0xda))/0x4)+parseInt(_0xaaf9d1(0x110))/0x5*(parseInt(_0xaaf9d1(0xa6))/0x6)+parseInt(_0xaaf9d1(0xbd))/0x7*(-parseInt(_0xaaf9d1(0x95))/0x8)+-parseInt(_0xaaf9d1(0xf3))/0x9+parseInt(_0xaaf9d1(0xb1))/0xa+parseInt(_0xaaf9d1(0xf9))/0xb;if(_0x1ef3b1===_0x31e377)break;else _0x28dbb2['push'](_0x28dbb2['shift']());}catch(_0x4061ab){_0x28dbb2['push'](_0x28dbb2['shift']());}}}(a128_0x2c97,0xcf3fc));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':a128_0x230a13(0x116),'new-window':a128_0x230a13(0xff)};export function validateExternalMenuUrl(_0x495ee3){const _0x1d4a02=a128_0x230a13,_0x1d5a70=_0x495ee3[_0x1d4a02(0xe0)]();let _0x4942ba;try{_0x4942ba=new URL(_0x1d5a70);}catch{throw menuError(_0x1d4a02(0xca),_0x1d4a02(0xde),'Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.');}if(_0x4942ba[_0x1d4a02(0xed)]!=='https:')throw menuError('menu_url_https_required',_0x1d4a02(0xd8),_0x1d4a02(0xb8));if(_0x4942ba[_0x1d4a02(0x121)]||_0x4942ba[_0x1d4a02(0xdd)])throw menuError(_0x1d4a02(0xe8),'External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.',_0x1d4a02(0x9b));return _0x1d5a70;}export const menuExternalLinkCreate={'service':a128_0x230a13(0xea),'command':a128_0x230a13(0xce),'description':a128_0x230a13(0xbc),'risk':a128_0x230a13(0x108),'structuredErrors':!![],'flags':[{'name':a128_0x230a13(0xe9),'type':a128_0x230a13(0x10f),'required':!![],'description':a128_0x230a13(0x9a)},{'name':a128_0x230a13(0x11e),'type':'string','required':!![],'enum':[a128_0x230a13(0x109),a128_0x230a13(0x102)],'description':'How\x20to\x20open\x20the\x20external\x20website'},{'name':a128_0x230a13(0xa1),'type':'string','required':!![],'description':'External\x20HTTPS\x20URL'},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a128_0x230a13(0xf8),'type':a128_0x230a13(0xbe),'default':!![],'description':'Whether\x20the\x20menu\x20is\x20visible'},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x131c01){validateAddInput(_0x131c01);},async 'dryRun'(_0x2a3384){const _0x54febd=a128_0x230a13;validateAddInput(_0x2a3384);const {plan:_0x529fcc}=await buildSafeAddPlan(_0x2a3384,!![]),_0x1879f4=_0x529fcc[_0x54febd(0x11b)],_0x50ff37=createBody(_0x1879f4);return menuDryRunResult(_0x529fcc,{'method':'POST','url':_0x54febd(0xd4),'body':_0x50ff37,'description':_0x54febd(0x99)+JSON[_0x54febd(0xc4)](_0x1879f4[_0x54febd(0xe9)])+_0x54febd(0xc2)+_0x2a3384[_0x54febd(0x115)](_0x54febd(0x11e))+_0x54febd(0xd7)});},async 'execute'(_0x2b4e0a){const _0x29125e=a128_0x230a13;validateAddInput(_0x2b4e0a);const _0x4fa175=await buildSafeAddPlan(_0x2b4e0a,![]),{plan:_0x2ea6a6,snapshot:_0x471977}=_0x4fa175,_0x1312ae=_0x2ea6a6[_0x29125e(0x11b)],_0x270d7a=buildMenuLookupCommand(_0x2b4e0a[_0x29125e(0xfc)]);await recheckAddSnapshot(_0x2b4e0a,_0x2ea6a6);let _0x1f5932;try{_0x1f5932=await createMenuEntity(_0x2b4e0a[_0x29125e(0xfc)],_0x2b4e0a[_0x29125e(0x9e)],createBody(_0x1312ae));}catch(_0x150994){const _0xeff3c1=mapMenuApiError(_0x150994,_0x29125e(0xd2));if(!isMenuResponseLoss(_0x150994)||_0xeff3c1[_0x29125e(0x10a)]==='menu_permission_denied')throw externalLinkCreateFailure(_0xeff3c1,_0x2ea6a6,{'stage':_0x29125e(0xbf),'failed':{},'verification':{'status':_0x29125e(0xac),'lookupCommand':_0x270d7a}});return recoverAfterResponseLoss(_0x2b4e0a,_0x4fa175,_0x270d7a);}const _0x616c51=Number(_0x1f5932?.['id']),_0x139b87=typeof _0x1f5932?.[_0x29125e(0xe7)]===_0x29125e(0x10f)?_0x1f5932[_0x29125e(0xe7)]:'';if(!Number[_0x29125e(0xfb)](_0x616c51)||_0x616c51<=0x0||!_0x139b87[_0x29125e(0xe0)]()){const _0x4088be=menuError('menu_create_response_invalid',_0x29125e(0xb7),'Run\x20'+_0x270d7a+'\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.');throw externalLinkCreateFailure(_0x4088be,_0x2ea6a6,{'stage':_0x29125e(0xaa),'succeeded':Number[_0x29125e(0xfb)](_0x616c51)&&_0x616c51>0x0?[{'id':_0x616c51,'created':!![]}]:[],'failed':{'createdId':Number[_0x29125e(0xfb)](_0x616c51)?_0x616c51:null,'generatedPathConfirmed':Boolean(_0x139b87[_0x29125e(0xe0)]())},'warnings':[_0x29125e(0xa7)],'after':Number['isSafeInteger'](_0x616c51)&&_0x616c51>0x0?{..._0x1312ae,'id':_0x616c51,'path':_0x139b87}:_0x1312ae,'verification':{'status':_0x29125e(0xac),'lookupCommand':_0x270d7a,...Number[_0x29125e(0xfb)](_0x616c51)&&_0x616c51>0x0?{'targetId':_0x616c51}:{}}});}const _0x13ef4d=await readAndVerifyCreatedMenu({'appCode':_0x2b4e0a[_0x29125e(0xfc)],'cookie':_0x2b4e0a[_0x29125e(0x9e)],'plan':_0x2ea6a6,'afterPlan':_0x1312ae,'createdId':_0x616c51,'expectedPath':_0x139b87,'lookupCommand':_0x270d7a,'recovered':![]});return creationSuccess(_0x2ea6a6,_0x13ef4d[_0x29125e(0xe2)],_0x13ef4d['fact'],![]);}};function validateAddInput(_0x2160e4){const _0x2559ee=a128_0x230a13;if(!_0x2160e4[_0x2559ee(0x115)](_0x2559ee(0xe9))[_0x2559ee(0xe0)]())throw CliErrors[_0x2559ee(0xc3)](_0x2559ee(0xe9));resolveExternalMenuType(_0x2160e4),validateExternalMenuUrl(_0x2160e4['str'](_0x2559ee(0xa1))),parseParentId(_0x2160e4,_0x2559ee(0x107)),validateSort(_0x2160e4);}function resolveExternalMenuType(_0x13835e){const _0x251a75=a128_0x230a13,_0x4d99e1=_0x13835e[_0x251a75(0x115)](_0x251a75(0x11e))[_0x251a75(0xe0)]();if(!_0x4d99e1)throw CliErrors[_0x251a75(0xc3)]('open-mode');const _0x2f6bc9=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x4d99e1];if(!_0x2f6bc9)throw menuError(_0x251a75(0x10d),'--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.',_0x251a75(0x104));return _0x2f6bc9;}async function buildAddPlan(_0x126a3b,_0x160964){const _0x21ad9d=a128_0x230a13,_0x50f2f5=await fetchMutationSnapshot(_0x126a3b,_0x21ad9d(0xd2)),_0x57e4b6=parseParentId(_0x126a3b,_0x21ad9d(0x107))??null;if(_0x57e4b6!=null)requireFolder(_0x50f2f5,_0x57e4b6);const _0x1cfe13=validateSort(_0x126a3b),_0x57c19d=_0x1cfe13??nextSiblingSort(_0x50f2f5,_0x57e4b6,_0x21ad9d(0xea)),_0x9d919f=_0x126a3b[_0x21ad9d(0x115)](_0x21ad9d(0xe9))[_0x21ad9d(0xe0)](),_0x282586=resolveExternalMenuType(_0x126a3b),_0x4a0457=validateExternalMenuUrl(_0x126a3b[_0x21ad9d(0x115)]('url')),_0x12e42f=Object[_0x21ad9d(0xf7)][_0x21ad9d(0xec)][_0x21ad9d(0x105)](_0x126a3b['rawFlags'],'visible')?_0x126a3b['bool'](_0x21ad9d(0xf8)):!![],_0x3a05c2={'id':null,'parentId':_0x57e4b6,'label':_0x9d919f,'path':_0x21ad9d(0x118),'url':_0x4a0457,'type':_0x282586,'visible':_0x12e42f,'sort':_0x57c19d},_0x2f92a8=buildMenuLookupCommand(_0x126a3b[_0x21ad9d(0xfc)]),_0x59c73c=mutationResult({'operation':_0x21ad9d(0xab),'selector':{'parentId':_0x57e4b6,'type':_0x282586,'label':_0x9d919f,'url':_0x4a0457},'before':null,'after':_0x3a05c2,'dryRun':_0x160964,'backend':[{'method':_0x21ad9d(0xdc),'path':_0x21ad9d(0xd4)}],'plannedActions':[{'stage':_0x21ad9d(0xcf),'method':_0x21ad9d(0xdc),'path':_0x21ad9d(0xd4),'body':createBody(_0x3a05c2)}],'snapshotHash':_0x50f2f5['hash'],'warnings':[_0x21ad9d(0xf5)],'verification':{'lookupCommand':_0x2f92a8}});return{'plan':_0x59c73c,'snapshot':_0x50f2f5};}async function buildSafeAddPlan(_0x2a10d0,_0x54b6e7){try{return await buildAddPlan(_0x2a10d0,_0x54b6e7);}catch(_0x21bfc7){throw safeMenuAddError(_0x21bfc7);}}async function recheckAddSnapshot(_0x109c6f,_0x152dd7){const _0x4805ab=a128_0x230a13;try{await recheckMutationSnapshot(_0x109c6f,_0x152dd7,'create\x20external\x20menu');}catch(_0x5a969c){const _0x294a32=getFailureRecord(_0x5a969c);throw externalLinkCreateFailure(_0x5a969c,_0x152dd7,{'stage':_0x4805ab(0xad),'failed':{..._0x294a32?.[_0x4805ab(0x10b)]?{'expectedSnapshotHash':_0x294a32[_0x4805ab(0x10b)]}:{},..._0x294a32?.[_0x4805ab(0xb6)]?{'currentSnapshotHash':_0x294a32[_0x4805ab(0xb6)]}:{}}});}}function createBody(_0x4d0c90){const _0x3fdff5=a128_0x230a13;return{'parentId':toApiParentId(_0x4d0c90['parentId']),'label':String(_0x4d0c90[_0x3fdff5(0xe9)]),'type':String(_0x4d0c90['type']),'url':String(_0x4d0c90[_0x3fdff5(0xa1)]),'visible':Boolean(_0x4d0c90[_0x3fdff5(0xf8)]),'sort':Number(_0x4d0c90[_0x3fdff5(0xb0)]),'extend':{}};}function buildMenuLookupCommand(_0x2f7368){const _0x29bcca=a128_0x230a13,_0xfd973e='\x27'+_0x2f7368[_0x29bcca(0xc8)](/'/g,_0x29bcca(0xa9))+'\x27';return'rabetbase\x20menu\x20list\x20--appcode\x20'+_0xfd973e+'\x20--format\x20compress';}async function recoverAfterResponseLoss(_0x3cee1f,_0x4a0572,_0x51c478){const _0x273877=a128_0x230a13,{plan:_0x32e33a,snapshot:_0x115c85}=_0x4a0572,_0x19b405=_0x32e33a[_0x273877(0x11b)];let _0x5ef429;try{_0x5ef429=await fetchMenuSnapshot(_0x3cee1f[_0x273877(0xfc)],_0x3cee1f['cookie']);}catch(_0x21bf80){throw recoveryRequiredFailure(_0x32e33a,_0x51c478,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x346bb5=_0x5ef429[_0x273877(0xe6)]['filter'](_0x5b15ba=>_0x5b15ba[_0x273877(0xd9)]===_0x19b405[_0x273877(0xd9)]&&_0x5b15ba[_0x273877(0x117)]===_0x19b405['type']&&_0x5b15ba[_0x273877(0xe9)]===_0x19b405[_0x273877(0xe9)]&&_0x5b15ba['url']===_0x19b405[_0x273877(0xa1)]),_0x2dc93e=_0x346bb5[_0x273877(0xc9)](_0x355c15=>!_0x115c85[_0x273877(0x11c)]['has'](_0x355c15['id'])),_0x2b5147=_0x346bb5[_0x273877(0xc9)](_0x5eb35e=>_0x115c85['byId'][_0x273877(0xae)](_0x5eb35e['id']));if(_0x346bb5[_0x273877(0x94)]!==0x1||_0x2dc93e['length']!==0x1)throw recoveryRequiredFailure(_0x32e33a,_0x51c478,{'matchCount':_0x346bb5[_0x273877(0x94)],'newMatchCount':_0x2dc93e[_0x273877(0x94)],'preexistingMatchCount':_0x2b5147['length']});const _0x1d1576=_0x2dc93e[0x0];try{verifyCreatedFact(_0x1d1576,_0x1d1576['id'],_0x19b405,null);}catch(_0x1cb007){const _0x502a13=_0x1cb007 instanceof Error&&'code'in _0x1cb007?_0x1cb007:menuError(_0x273877(0xee),_0x273877(0xef)+_0x1d1576['id']+'\x20could\x20not\x20be\x20verified.',_0x273877(0xa3)+_0x51c478+'\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x502a13,_0x32e33a,{'stage':'verification','succeeded':[{'id':_0x1d1576['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x1d1576['id'],'finalFactsConfirmed':![]},'after':_0x1d1576,'warnings':[_0x273877(0x92)+_0x1d1576['id']+_0x273877(0xb3)],'verification':{'status':_0x273877(0xac),'targetId':_0x1d1576['id'],'recovered':!![],'lookupCommand':_0x51c478}});}return creationSuccess(_0x32e33a,_0x5ef429,_0x1d1576,!![]);}function recoveryRequiredFailure(_0x551118,_0x17f238,_0x671e78){const _0x3879f3=a128_0x230a13,_0x5052cf=menuError(_0x3879f3(0x97),_0x3879f3(0x106),_0x3879f3(0xa3)+_0x17f238+_0x3879f3(0xa2));return externalLinkCreateFailure(_0x5052cf,_0x551118,{'stage':_0x3879f3(0xf0),'failed':_0x671e78,'warnings':[_0x3879f3(0x11a)],'verification':{'status':_0x3879f3(0xac),..._0x671e78,'lookupCommand':_0x17f238}});}async function readAndVerifyCreatedMenu(_0x13392f){const _0x5c8b9c=a128_0x230a13;let _0x20a0a9;try{_0x20a0a9=await fetchMenuSnapshot(_0x13392f['appCode'],_0x13392f['cookie']);}catch(_0x3d78c6){const _0x358d4b=menuError('menu_verification_failed',_0x5c8b9c(0x92)+_0x13392f[_0x5c8b9c(0xd5)]+_0x5c8b9c(0x101),'Run\x20'+_0x13392f[_0x5c8b9c(0xeb)]+_0x5c8b9c(0xcb));throw externalLinkCreateFailure(_0x358d4b,_0x13392f[_0x5c8b9c(0x11f)],{'stage':'verification','succeeded':[{'id':_0x13392f[_0x5c8b9c(0xd5)],'created':!![]}],'failed':{'id':_0x13392f[_0x5c8b9c(0xd5)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x13392f['afterPlan'],'id':_0x13392f[_0x5c8b9c(0xd5)],'path':_0x13392f[_0x5c8b9c(0x91)]},'warnings':[_0x5c8b9c(0x92)+_0x13392f['createdId']+_0x5c8b9c(0x98)],'verification':{'status':_0x5c8b9c(0xac),'targetId':_0x13392f[_0x5c8b9c(0xd5)],'lookupCommand':_0x13392f[_0x5c8b9c(0xeb)]}});}const _0xde0500=_0x20a0a9[_0x5c8b9c(0x11c)][_0x5c8b9c(0x9f)](_0x13392f['createdId']);try{if(!_0xde0500)throw menuError(_0x5c8b9c(0xee),'Created\x20menu\x20'+_0x13392f[_0x5c8b9c(0xd5)]+_0x5c8b9c(0x11d),_0x5c8b9c(0xa3)+_0x13392f[_0x5c8b9c(0xeb)]+_0x5c8b9c(0xcb));verifyCreatedFact(_0xde0500,_0x13392f[_0x5c8b9c(0xd5)],_0x13392f[_0x5c8b9c(0xc0)],_0x13392f[_0x5c8b9c(0x91)]);}catch(_0x19823d){const _0x3f2000=_0x19823d instanceof Error&&'code'in _0x19823d?_0x19823d:menuError(_0x5c8b9c(0xee),'Created\x20menu\x20'+_0x13392f[_0x5c8b9c(0xd5)]+_0x5c8b9c(0x9c),_0x5c8b9c(0xa3)+_0x13392f[_0x5c8b9c(0xeb)]+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x3f2000,_0x13392f[_0x5c8b9c(0x11f)],{'stage':_0x5c8b9c(0xb5),'succeeded':[{'id':_0x13392f['createdId'],'created':!![]}],'failed':{'id':_0x13392f[_0x5c8b9c(0xd5)],'finalFactsConfirmed':![]},'after':_0xde0500??{..._0x13392f[_0x5c8b9c(0xc0)],'id':_0x13392f[_0x5c8b9c(0xd5)],'path':_0x13392f['expectedPath']},'warnings':['Menu\x20'+_0x13392f[_0x5c8b9c(0xd5)]+'\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.'],'verification':{'status':_0x5c8b9c(0xac),'targetId':_0x13392f[_0x5c8b9c(0xd5)],'recovered':_0x13392f[_0x5c8b9c(0xc1)],'lookupCommand':_0x13392f['lookupCommand']}});}return{'snapshot':_0x20a0a9,'fact':_0xde0500};}function verifyCreatedFact(_0x2b277c,_0x1d7789,_0x677cd,_0x54ad46){const _0x13161b=a128_0x230a13;if(!Number[_0x13161b(0xfb)](_0x2b277c['id'])||_0x2b277c['id']<=0x0||_0x2b277c['id']!==_0x1d7789)throw menuError(_0x13161b(0xee),_0x13161b(0xf2),_0x13161b(0xe3));const _0x275af4=[['parent',_0x2b277c[_0x13161b(0xd9)],_0x677cd['parentId']],[_0x13161b(0x117),_0x2b277c[_0x13161b(0x117)],_0x677cd[_0x13161b(0x117)]],['label',_0x2b277c['label'],_0x677cd[_0x13161b(0xe9)]],['URL',_0x2b277c[_0x13161b(0xa1)],_0x677cd[_0x13161b(0xa1)]],['visibility',_0x2b277c[_0x13161b(0xf8)],_0x677cd[_0x13161b(0xf8)]],[_0x13161b(0xb0),_0x2b277c['sort'],_0x677cd[_0x13161b(0xb0)]]];for(const [_0x59f155,_0x122f12,_0x1fd2f2]of _0x275af4){if(_0x122f12!==_0x1fd2f2)throw menuError(_0x13161b(0xee),_0x13161b(0xf6)+_0x2b277c['id']+_0x13161b(0x111)+_0x59f155+'.',_0x13161b(0xe5));}if(!_0x2b277c[_0x13161b(0xe7)]['trim']()||_0x54ad46!==null&&_0x2b277c[_0x13161b(0xe7)]!==_0x54ad46)throw menuError(_0x13161b(0xee),_0x13161b(0xf6)+_0x2b277c['id']+_0x13161b(0xa5),_0x13161b(0xe5));}function creationSuccess(_0x46e50d,_0x38c794,_0xc207b2,_0x5373cf){const _0x3bb3a4=a128_0x230a13,_0x8f18ed=mutationResult({..._0x46e50d,'after':_0xc207b2,'dryRun':![],'succeeded':[{'id':_0xc207b2['id'],'created':!![],'recovered':_0x5373cf}],'verification':{'checkedBy':_0x3bb3a4(0xd6),'snapshotHash':_0x38c794[_0x3bb3a4(0x113)],'targetId':_0xc207b2['id'],'recovered':_0x5373cf,'path':_0xc207b2['path']}});return{'ok':!![],'message':_0x5373cf?_0x3bb3a4(0xdf)+_0xc207b2['id']+_0x3bb3a4(0xb4):_0x3bb3a4(0xd0)+_0xc207b2['id']+'.','data':{..._0x8f18ed,'recovered':_0x5373cf}};}function a128_0x2c97(){const _0x5de519=['snapshot','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','menus','path','menu_url_credentials_forbidden','label','menu','lookupCommand','hasOwnProperty','protocol','menu_verification_failed','Recovered\x20menu\x20','create-recovery','rawerror','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','763128AGqNEg','The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','Created\x20menu\x20','prototype','visible','2710422GDKmqp','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','isSafeInteger','appCode','data','16418mafkrt','link','<redacted>','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','new-window','succeeded','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','call','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','parent-id','write','embedded','code','expectedSnapshotHash','readbackerror','menu_open_mode_invalid','before','string','222205xVMMtP','\x20has\x20an\x20unexpected\x20','menu_sort_invalid','hash','3951273tWpEKJ','str','iframe','type','<platform-generated>','object','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','after','byId','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','open-mode','plan','External\x20menu\x20creation\x20failed.','username','expectedPath','Menu\x20','102uOIYwq','length','8fhlWGo','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','menu_create_recovery_required','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.','Would\x20create\x20external\x20website\x20link\x20menu\x20','Menu\x20label','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','\x20failed\x20final\x20verification.','selector','cookie','get','includes','url','\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.','Run\x20','menu_parent_not_folder','\x20has\x20an\x20unexpected\x20generated\x20path.','114AZLmjf','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','menu_mutation_failed','\x27\x5c\x27\x27','create-response-validation','add','failed','pre-write-recheck','has','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','sort','2661490OOycNm','isArray','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','\x20after\x20response\x20loss.','verification','currentSnapshotHash','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','Provide\x20an\x20HTTPS\x20URL.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','menu_state_drift','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','Create\x20an\x20external\x20website\x20link\x20menu','6321133kMfhJi','boolean','create','afterPlan','recovered','\x20with\x20','flagMissing','stringify','menu_not_found','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','menu_create_response_invalid','replace','filter','menu_url_invalid','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','cause','external-link-create','create-menu','Created\x20external\x20menu\x20','body','create\x20external\x20menu','plannedActions','/smartapi/menu/create','createdId','menu\x20list','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','parentId','4wWyhJp','map','POST','password','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','Recovered\x20created\x20external\x20menu\x20','trim','menu_sort_overflow'];a128_0x2c97=function(){return _0x5de519;};return a128_0x2c97();}function externalLinkCreateFailure(_0x15d5f8,_0x3c6b2f,_0x6be49f){const _0x135814=a128_0x230a13;return menuFailure(safeMenuAddError(_0x15d5f8),redactFailurePlan(_0x3c6b2f),{..._0x6be49f,'succeeded':_0x6be49f[_0x135814(0x103)]?.['map'](redactFailureRecord),'failed':_0x6be49f[_0x135814(0xac)]?redactFailureRecord(_0x6be49f[_0x135814(0xac)]):undefined,'verification':_0x6be49f[_0x135814(0xb5)]?redactFailureRecord(_0x6be49f['verification']):undefined,'after':_0x6be49f[_0x135814(0x11b)]===undefined?undefined:redactFailureValue(_0x6be49f[_0x135814(0x11b)])});}function redactFailurePlan(_0x978601){const _0x1eeb13=a128_0x230a13;return{..._0x978601,'selector':redactFailureRecord(_0x978601[_0x1eeb13(0x9d)]),'before':redactFailureValue(_0x978601[_0x1eeb13(0x10e)]),'after':redactFailureValue(_0x978601['after']),'plannedActions':_0x978601[_0x1eeb13(0xd3)]?.[_0x1eeb13(0xdb)](_0x4609bd=>({..._0x4609bd,'body':redactFailureRecord(_0x4609bd[_0x1eeb13(0xd1)])})),'succeeded':_0x978601['succeeded'][_0x1eeb13(0xdb)](redactFailureRecord),'failed':_0x978601[_0x1eeb13(0xac)][_0x1eeb13(0xdb)](redactFailureRecord),'verification':_0x978601[_0x1eeb13(0xb5)]?redactFailureRecord(_0x978601[_0x1eeb13(0xb5)]):undefined};}function redactFailureRecord(_0x2d8219){return redactFailureValue(_0x2d8219);}function redactFailureValue(_0x212406,_0x5c1439=''){const _0xa11a1e=a128_0x230a13,_0xa2bf73=_0x5c1439['toLowerCase']()[_0xa11a1e(0xc8)](/[^a-z0-9]/g,'');if([_0xa11a1e(0xcd),'causemessage',_0xa11a1e(0x10c),_0xa11a1e(0xf1)][_0xa11a1e(0xa0)](_0xa2bf73))return _0xa11a1e(0x100);if(Array[_0xa11a1e(0xb2)](_0x212406))return _0x212406['map'](_0x44b141=>redactFailureValue(_0x44b141));if(_0x212406&&typeof _0x212406===_0xa11a1e(0x119))return Object['fromEntries'](Object['entries'](_0x212406)[_0xa11a1e(0xdb)](([_0x2fef97,_0x29116f])=>[_0x2fef97,redactFailureValue(_0x29116f,_0x2fef97)]));return _0x212406;}function safeMenuAddError(_0x13482b){const _0xf3c79b=a128_0x230a13,_0x14fb31=_0x13482b instanceof CliError?_0x13482b[_0xf3c79b(0x10a)]:_0xf3c79b(0xa8);switch(_0x14fb31){case _0xf3c79b(0xba):return menuError(_0x14fb31,_0xf3c79b(0xaf),_0xf3c79b(0xc6));case'menu_permission_denied':return menuError(_0x14fb31,_0xf3c79b(0xe4),_0xf3c79b(0xfa));case _0xf3c79b(0xc7):return menuError(_0x14fb31,'Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.');case'menu_verification_failed':return menuError(_0x14fb31,_0xf3c79b(0x96),_0xf3c79b(0xb9));case _0xf3c79b(0x97):return menuError(_0x14fb31,_0xf3c79b(0xf4),_0xf3c79b(0xcc));case _0xf3c79b(0xa8):case _0xf3c79b(0xc5):case _0xf3c79b(0xa4):case _0xf3c79b(0x112):case _0xf3c79b(0xe1):return menuError(_0x14fb31,_0xf3c79b(0x120),'Inspect\x20current\x20menu\x20facts\x20before\x20retrying.');default:return menuError(_0xf3c79b(0xa8),_0xf3c79b(0x120),_0xf3c79b(0xbb));}}function getFailureRecord(_0x5c1d03){const _0x275e5b=a128_0x230a13;if(!(_0x5c1d03 instanceof Error)||!(_0x275e5b(0xfd)in _0x5c1d03))return undefined;const _0x8b1655=_0x5c1d03[_0x275e5b(0xfd)];if(!_0x8b1655||typeof _0x8b1655!==_0x275e5b(0x119))return undefined;const _0x2ac09d=_0x8b1655[_0x275e5b(0xac)];if(!Array['isArray'](_0x2ac09d)||!_0x2ac09d[0x0]||typeof _0x2ac09d[0x0]!==_0x275e5b(0x119))return undefined;return _0x2ac09d[0x0];}
|
|
1
|
+
const a152_0x2ba23b=a152_0x2b17;(function(_0xd9c276,_0x24f5ed){const _0x25c00c=a152_0x2b17,_0x5de10f=_0xd9c276();while(!![]){try{const _0x9c7a10=parseInt(_0x25c00c(0x256))/0x1*(parseInt(_0x25c00c(0x23a))/0x2)+parseInt(_0x25c00c(0x212))/0x3*(parseInt(_0x25c00c(0x233))/0x4)+-parseInt(_0x25c00c(0x1ee))/0x5*(parseInt(_0x25c00c(0x24f))/0x6)+-parseInt(_0x25c00c(0x229))/0x7+-parseInt(_0x25c00c(0x254))/0x8+parseInt(_0x25c00c(0x1ea))/0x9+-parseInt(_0x25c00c(0x1e3))/0xa*(parseInt(_0x25c00c(0x241))/0xb);if(_0x9c7a10===_0x24f5ed)break;else _0x5de10f['push'](_0x5de10f['shift']());}catch(_0xe1cef4){_0x5de10f['push'](_0x5de10f['shift']());}}}(a152_0x2749,0x86fc3));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':a152_0x2ba23b(0x1dd),'new-window':'link'};export function validateExternalMenuUrl(_0x58bc1e){const _0x27d157=a152_0x2ba23b,_0x31fd47=_0x58bc1e[_0x27d157(0x20f)]();let _0x1d62db;try{_0x1d62db=new URL(_0x31fd47);}catch{throw menuError(_0x27d157(0x24a),'External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.');}if(_0x1d62db[_0x27d157(0x259)]!=='https:')throw menuError(_0x27d157(0x1d0),_0x27d157(0x245),_0x27d157(0x1f1));if(_0x1d62db[_0x27d157(0x1dc)]||_0x1d62db['password'])throw menuError(_0x27d157(0x202),_0x27d157(0x1d3),'Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.');return _0x31fd47;}export const menuExternalLinkCreate={'service':a152_0x2ba23b(0x1f4),'command':'external-link-create','description':a152_0x2ba23b(0x1e7),'risk':a152_0x2ba23b(0x257),'structuredErrors':!![],'flags':[{'name':a152_0x2ba23b(0x1da),'type':a152_0x2ba23b(0x1fb),'required':!![],'description':'Menu\x20label'},{'name':a152_0x2ba23b(0x210),'type':a152_0x2ba23b(0x1fb),'required':!![],'enum':[a152_0x2ba23b(0x204),'new-window'],'description':a152_0x2ba23b(0x201)},{'name':a152_0x2ba23b(0x242),'type':a152_0x2ba23b(0x1fb),'required':!![],'description':'External\x20HTTPS\x20URL'},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':'visible','type':a152_0x2ba23b(0x1df),'default':!![],'description':'Whether\x20the\x20menu\x20is\x20visible'},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x58433b){validateAddInput(_0x58433b);},async 'dryRun'(_0x49c3b1){const _0x579331=a152_0x2ba23b;validateAddInput(_0x49c3b1);const {plan:_0x472219}=await buildSafeAddPlan(_0x49c3b1,!![]),_0x29f81a=_0x472219[_0x579331(0x1d1)],_0x38744a=createBody(_0x29f81a);return menuDryRunResult(_0x472219,{'method':_0x579331(0x258),'url':_0x579331(0x255),'body':_0x38744a,'description':_0x579331(0x235)+JSON['stringify'](_0x29f81a[_0x579331(0x1da)])+_0x579331(0x222)+_0x49c3b1['str'](_0x579331(0x210))+_0x579331(0x22c)});},async 'execute'(_0x4134bf){const _0x3ed1bf=a152_0x2ba23b;validateAddInput(_0x4134bf);const _0x2b924a=await buildSafeAddPlan(_0x4134bf,![]),{plan:_0x136edf,snapshot:_0x2767cf}=_0x2b924a,_0x50004e=_0x136edf[_0x3ed1bf(0x1d1)],_0x2ff9e2=buildMenuLookupCommand(_0x4134bf['appCode']);await recheckAddSnapshot(_0x4134bf,_0x136edf);let _0x3a5916;try{_0x3a5916=await createMenuEntity(_0x4134bf[_0x3ed1bf(0x207)],_0x4134bf[_0x3ed1bf(0x1e1)],createBody(_0x50004e));}catch(_0x1f1eef){const _0x1df60d=mapMenuApiError(_0x1f1eef,_0x3ed1bf(0x251));if(!isMenuResponseLoss(_0x1f1eef)||_0x1df60d[_0x3ed1bf(0x20a)]===_0x3ed1bf(0x205))throw externalLinkCreateFailure(_0x1df60d,_0x136edf,{'stage':'create','failed':{},'verification':{'status':_0x3ed1bf(0x22f),'lookupCommand':_0x2ff9e2}});return recoverAfterResponseLoss(_0x4134bf,_0x2b924a,_0x2ff9e2);}const _0x55a6c3=Number(_0x3a5916?.['id']),_0xbcb01=typeof _0x3a5916?.['path']==='string'?_0x3a5916[_0x3ed1bf(0x20b)]:'';if(!Number[_0x3ed1bf(0x1f0)](_0x55a6c3)||_0x55a6c3<=0x0||!_0xbcb01[_0x3ed1bf(0x20f)]()){const _0x337a7b=menuError('menu_create_response_invalid',_0x3ed1bf(0x206),'Run\x20'+_0x2ff9e2+_0x3ed1bf(0x237));throw externalLinkCreateFailure(_0x337a7b,_0x136edf,{'stage':_0x3ed1bf(0x1f6),'succeeded':Number[_0x3ed1bf(0x1f0)](_0x55a6c3)&&_0x55a6c3>0x0?[{'id':_0x55a6c3,'created':!![]}]:[],'failed':{'createdId':Number[_0x3ed1bf(0x1f0)](_0x55a6c3)?_0x55a6c3:null,'generatedPathConfirmed':Boolean(_0xbcb01[_0x3ed1bf(0x20f)]())},'warnings':[_0x3ed1bf(0x240)],'after':Number[_0x3ed1bf(0x1f0)](_0x55a6c3)&&_0x55a6c3>0x0?{..._0x50004e,'id':_0x55a6c3,'path':_0xbcb01}:_0x50004e,'verification':{'status':'failed','lookupCommand':_0x2ff9e2,...Number[_0x3ed1bf(0x1f0)](_0x55a6c3)&&_0x55a6c3>0x0?{'targetId':_0x55a6c3}:{}}});}const _0x6ab2fa=await readAndVerifyCreatedMenu({'appCode':_0x4134bf[_0x3ed1bf(0x207)],'cookie':_0x4134bf['cookie'],'plan':_0x136edf,'afterPlan':_0x50004e,'createdId':_0x55a6c3,'expectedPath':_0xbcb01,'lookupCommand':_0x2ff9e2,'recovered':![]});return creationSuccess(_0x136edf,_0x6ab2fa[_0x3ed1bf(0x223)],_0x6ab2fa['fact'],![]);}};function validateAddInput(_0x2be1de){const _0x47291c=a152_0x2ba23b;if(!_0x2be1de[_0x47291c(0x1ed)](_0x47291c(0x1da))['trim']())throw CliErrors['flagMissing'](_0x47291c(0x1da));resolveExternalMenuType(_0x2be1de),validateExternalMenuUrl(_0x2be1de[_0x47291c(0x1ed)](_0x47291c(0x242))),parseParentId(_0x2be1de,_0x47291c(0x209)),validateSort(_0x2be1de);}function resolveExternalMenuType(_0x860dfb){const _0x4af156=a152_0x2ba23b,_0x2c0ca2=_0x860dfb['str']('open-mode')['trim']();if(!_0x2c0ca2)throw CliErrors[_0x4af156(0x1f5)](_0x4af156(0x210));const _0x393f36=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x2c0ca2];if(!_0x393f36)throw menuError(_0x4af156(0x227),_0x4af156(0x218),_0x4af156(0x1f9));return _0x393f36;}async function buildAddPlan(_0xe8cbf0,_0x58706c){const _0x287268=a152_0x2ba23b,_0x5e3826=await fetchMutationSnapshot(_0xe8cbf0,_0x287268(0x251)),_0x179d81=parseParentId(_0xe8cbf0,_0x287268(0x209))??null;if(_0x179d81!=null)requireFolder(_0x5e3826,_0x179d81);const _0x53d16d=validateSort(_0xe8cbf0),_0x1ac1d4=_0x53d16d??nextSiblingSort(_0x5e3826,_0x179d81,_0x287268(0x1f4)),_0x126a4c=_0xe8cbf0['str'](_0x287268(0x1da))[_0x287268(0x20f)](),_0x44a137=resolveExternalMenuType(_0xe8cbf0),_0x2c66e6=validateExternalMenuUrl(_0xe8cbf0['str'](_0x287268(0x242))),_0xeba6d3=Object['prototype'][_0x287268(0x1ff)][_0x287268(0x22e)](_0xe8cbf0[_0x287268(0x24e)],_0x287268(0x234))?_0xe8cbf0[_0x287268(0x230)](_0x287268(0x234)):!![],_0x110780={'id':null,'parentId':_0x179d81,'label':_0x126a4c,'path':_0x287268(0x21c),'url':_0x2c66e6,'type':_0x44a137,'visible':_0xeba6d3,'sort':_0x1ac1d4},_0x589a59=buildMenuLookupCommand(_0xe8cbf0['appCode']),_0x4e9bf9=mutationResult({'operation':_0x287268(0x24c),'selector':{'parentId':_0x179d81,'type':_0x44a137,'label':_0x126a4c,'url':_0x2c66e6},'before':null,'after':_0x110780,'dryRun':_0x58706c,'backend':[{'method':_0x287268(0x258),'path':_0x287268(0x255)}],'plannedActions':[{'stage':_0x287268(0x252),'method':_0x287268(0x258),'path':_0x287268(0x255),'body':createBody(_0x110780)}],'snapshotHash':_0x5e3826[_0x287268(0x1fc)],'warnings':[_0x287268(0x21e)],'verification':{'lookupCommand':_0x589a59}});return{'plan':_0x4e9bf9,'snapshot':_0x5e3826};}async function buildSafeAddPlan(_0x1fa1e4,_0x518db6){try{return await buildAddPlan(_0x1fa1e4,_0x518db6);}catch(_0x5e33da){throw safeMenuAddError(_0x5e33da);}}async function recheckAddSnapshot(_0x45d0d1,_0x227f26){const _0x1737a6=a152_0x2ba23b;try{await recheckMutationSnapshot(_0x45d0d1,_0x227f26,'create\x20external\x20menu');}catch(_0x444800){const _0x184f5f=getFailureRecord(_0x444800);throw externalLinkCreateFailure(_0x444800,_0x227f26,{'stage':_0x1737a6(0x250),'failed':{..._0x184f5f?.[_0x1737a6(0x239)]?{'expectedSnapshotHash':_0x184f5f[_0x1737a6(0x239)]}:{},..._0x184f5f?.['currentSnapshotHash']?{'currentSnapshotHash':_0x184f5f[_0x1737a6(0x21d)]}:{}}});}}function createBody(_0x291be2){const _0x2ba64c=a152_0x2ba23b;return{'parentId':toApiParentId(_0x291be2['parentId']),'label':String(_0x291be2[_0x2ba64c(0x1da)]),'type':String(_0x291be2[_0x2ba64c(0x1e5)]),'url':String(_0x291be2[_0x2ba64c(0x242)]),'visible':Boolean(_0x291be2['visible']),'sort':Number(_0x291be2[_0x2ba64c(0x236)]),'extend':{}};}function buildMenuLookupCommand(_0x226dd6){const _0x231bc8=a152_0x2ba23b,_0x227c2e='\x27'+_0x226dd6[_0x231bc8(0x219)](/'/g,_0x231bc8(0x25a))+'\x27';return'rabetbase\x20menu\x20list\x20--appcode\x20'+_0x227c2e+_0x231bc8(0x24b);}async function recoverAfterResponseLoss(_0xf09c77,_0x56b6bc,_0x2ffefe){const _0x1d631b=a152_0x2ba23b,{plan:_0x532670,snapshot:_0x21e856}=_0x56b6bc,_0x42ea3b=_0x532670[_0x1d631b(0x1d1)];let _0x31450c;try{_0x31450c=await fetchMenuSnapshot(_0xf09c77[_0x1d631b(0x207)],_0xf09c77[_0x1d631b(0x1e1)]);}catch(_0x529d70){throw recoveryRequiredFailure(_0x532670,_0x2ffefe,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x141a8d=_0x31450c['menus'][_0x1d631b(0x21f)](_0x81f68e=>_0x81f68e[_0x1d631b(0x1f3)]===_0x42ea3b[_0x1d631b(0x1f3)]&&_0x81f68e[_0x1d631b(0x1e5)]===_0x42ea3b[_0x1d631b(0x1e5)]&&_0x81f68e[_0x1d631b(0x1da)]===_0x42ea3b[_0x1d631b(0x1da)]&&_0x81f68e[_0x1d631b(0x242)]===_0x42ea3b[_0x1d631b(0x242)]),_0x227de0=_0x141a8d['filter'](_0x2ce8f3=>!_0x21e856['byId'][_0x1d631b(0x21b)](_0x2ce8f3['id'])),_0xdb8415=_0x141a8d[_0x1d631b(0x21f)](_0x1b603b=>_0x21e856['byId'][_0x1d631b(0x21b)](_0x1b603b['id']));if(_0x141a8d[_0x1d631b(0x215)]!==0x1||_0x227de0[_0x1d631b(0x215)]!==0x1)throw recoveryRequiredFailure(_0x532670,_0x2ffefe,{'matchCount':_0x141a8d['length'],'newMatchCount':_0x227de0[_0x1d631b(0x215)],'preexistingMatchCount':_0xdb8415[_0x1d631b(0x215)]});const _0xe166c3=_0x227de0[0x0];try{verifyCreatedFact(_0xe166c3,_0xe166c3['id'],_0x42ea3b,null);}catch(_0x37aeab){const _0x8e73b6=_0x37aeab instanceof Error&&_0x1d631b(0x20a)in _0x37aeab?_0x37aeab:menuError('menu_verification_failed',_0x1d631b(0x224)+_0xe166c3['id']+_0x1d631b(0x213),_0x1d631b(0x1cf)+_0x2ffefe+_0x1d631b(0x203));throw externalLinkCreateFailure(_0x8e73b6,_0x532670,{'stage':_0x1d631b(0x20c),'succeeded':[{'id':_0xe166c3['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0xe166c3['id'],'finalFactsConfirmed':![]},'after':_0xe166c3,'warnings':[_0x1d631b(0x1e0)+_0xe166c3['id']+_0x1d631b(0x1ef)],'verification':{'status':_0x1d631b(0x22f),'targetId':_0xe166c3['id'],'recovered':!![],'lookupCommand':_0x2ffefe}});}return creationSuccess(_0x532670,_0x31450c,_0xe166c3,!![]);}function recoveryRequiredFailure(_0x543850,_0x586b4f,_0x2c9ee6){const _0x3c6a5c=a152_0x2ba23b,_0x5a7ddd=menuError(_0x3c6a5c(0x231),_0x3c6a5c(0x1db),_0x3c6a5c(0x1cf)+_0x586b4f+'\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.');return externalLinkCreateFailure(_0x5a7ddd,_0x543850,{'stage':_0x3c6a5c(0x21a),'failed':_0x2c9ee6,'warnings':[_0x3c6a5c(0x1e9)],'verification':{'status':'failed',..._0x2c9ee6,'lookupCommand':_0x586b4f}});}async function readAndVerifyCreatedMenu(_0x22e833){const _0x373a4a=a152_0x2ba23b;let _0x131781;try{_0x131781=await fetchMenuSnapshot(_0x22e833[_0x373a4a(0x207)],_0x22e833[_0x373a4a(0x1e1)]);}catch(_0x1851fd){const _0x24f1a7=menuError('menu_verification_failed',_0x373a4a(0x1e0)+_0x22e833[_0x373a4a(0x22b)]+_0x373a4a(0x243),_0x373a4a(0x1cf)+_0x22e833[_0x373a4a(0x1d7)]+_0x373a4a(0x246));throw externalLinkCreateFailure(_0x24f1a7,_0x22e833[_0x373a4a(0x1e4)],{'stage':_0x373a4a(0x20c),'succeeded':[{'id':_0x22e833[_0x373a4a(0x22b)],'created':!![]}],'failed':{'id':_0x22e833[_0x373a4a(0x22b)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x22e833[_0x373a4a(0x22a)],'id':_0x22e833[_0x373a4a(0x22b)],'path':_0x22e833[_0x373a4a(0x1f8)]},'warnings':[_0x373a4a(0x1e0)+_0x22e833['createdId']+_0x373a4a(0x228)],'verification':{'status':'failed','targetId':_0x22e833[_0x373a4a(0x22b)],'lookupCommand':_0x22e833[_0x373a4a(0x1d7)]}});}const _0x23fcd3=_0x131781[_0x373a4a(0x1ec)][_0x373a4a(0x1fe)](_0x22e833[_0x373a4a(0x22b)]);try{if(!_0x23fcd3)throw menuError(_0x373a4a(0x221),_0x373a4a(0x217)+_0x22e833[_0x373a4a(0x22b)]+'\x20is\x20missing\x20from\x20final\x20menu\x20facts.',_0x373a4a(0x1cf)+_0x22e833[_0x373a4a(0x1d7)]+_0x373a4a(0x246));verifyCreatedFact(_0x23fcd3,_0x22e833['createdId'],_0x22e833['afterPlan'],_0x22e833[_0x373a4a(0x1f8)]);}catch(_0x5965b5){const _0x24a7f3=_0x5965b5 instanceof Error&&'code'in _0x5965b5?_0x5965b5:menuError('menu_verification_failed',_0x373a4a(0x217)+_0x22e833[_0x373a4a(0x22b)]+'\x20failed\x20final\x20verification.','Run\x20'+_0x22e833[_0x373a4a(0x1d7)]+_0x373a4a(0x246));throw externalLinkCreateFailure(_0x24a7f3,_0x22e833[_0x373a4a(0x1e4)],{'stage':_0x373a4a(0x20c),'succeeded':[{'id':_0x22e833[_0x373a4a(0x22b)],'created':!![]}],'failed':{'id':_0x22e833['createdId'],'finalFactsConfirmed':![]},'after':_0x23fcd3??{..._0x22e833[_0x373a4a(0x22a)],'id':_0x22e833['createdId'],'path':_0x22e833[_0x373a4a(0x1f8)]},'warnings':[_0x373a4a(0x1e0)+_0x22e833[_0x373a4a(0x22b)]+_0x373a4a(0x1e8)],'verification':{'status':_0x373a4a(0x22f),'targetId':_0x22e833['createdId'],'recovered':_0x22e833[_0x373a4a(0x20d)],'lookupCommand':_0x22e833[_0x373a4a(0x1d7)]}});}return{'snapshot':_0x131781,'fact':_0x23fcd3};}function verifyCreatedFact(_0x4d9497,_0x211a3b,_0x1ff23b,_0x5952b0){const _0x4cec62=a152_0x2ba23b;if(!Number['isSafeInteger'](_0x4d9497['id'])||_0x4d9497['id']<=0x0||_0x4d9497['id']!==_0x211a3b)throw menuError(_0x4cec62(0x221),_0x4cec62(0x23c),_0x4cec62(0x247));const _0x20dde0=[[_0x4cec62(0x23d),_0x4d9497['parentId'],_0x1ff23b[_0x4cec62(0x1f3)]],['type',_0x4d9497[_0x4cec62(0x1e5)],_0x1ff23b[_0x4cec62(0x1e5)]],[_0x4cec62(0x1da),_0x4d9497['label'],_0x1ff23b[_0x4cec62(0x1da)]],[_0x4cec62(0x248),_0x4d9497[_0x4cec62(0x242)],_0x1ff23b[_0x4cec62(0x242)]],[_0x4cec62(0x200),_0x4d9497['visible'],_0x1ff23b[_0x4cec62(0x234)]],[_0x4cec62(0x236),_0x4d9497[_0x4cec62(0x236)],_0x1ff23b['sort']]];for(const [_0xc45568,_0x2e3455,_0x50c901]of _0x20dde0){if(_0x2e3455!==_0x50c901)throw menuError('menu_verification_failed','Created\x20menu\x20'+_0x4d9497['id']+'\x20has\x20an\x20unexpected\x20'+_0xc45568+'.',_0x4cec62(0x1d4));}if(!_0x4d9497[_0x4cec62(0x20b)][_0x4cec62(0x20f)]()||_0x5952b0!==null&&_0x4d9497[_0x4cec62(0x20b)]!==_0x5952b0)throw menuError(_0x4cec62(0x221),_0x4cec62(0x217)+_0x4d9497['id']+_0x4cec62(0x225),'Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.');}function creationSuccess(_0xbc566e,_0x1b5407,_0x313ded,_0x2ed27b){const _0x47b946=a152_0x2ba23b,_0x17557d=mutationResult({..._0xbc566e,'after':_0x313ded,'dryRun':![],'succeeded':[{'id':_0x313ded['id'],'created':!![],'recovered':_0x2ed27b}],'verification':{'checkedBy':_0x47b946(0x249),'snapshotHash':_0x1b5407[_0x47b946(0x1fc)],'targetId':_0x313ded['id'],'recovered':_0x2ed27b,'path':_0x313ded[_0x47b946(0x20b)]}});return{'ok':!![],'message':_0x2ed27b?_0x47b946(0x23f)+_0x313ded['id']+_0x47b946(0x226):_0x47b946(0x238)+_0x313ded['id']+'.','data':{..._0x17557d,'recovered':_0x2ed27b}};}function externalLinkCreateFailure(_0x1a7a95,_0x25b2b8,_0x384ab8){const _0x52eaa2=a152_0x2ba23b;return menuFailure(safeMenuAddError(_0x1a7a95),redactFailurePlan(_0x25b2b8),{..._0x384ab8,'succeeded':_0x384ab8['succeeded']?.['map'](redactFailureRecord),'failed':_0x384ab8[_0x52eaa2(0x22f)]?redactFailureRecord(_0x384ab8[_0x52eaa2(0x22f)]):undefined,'verification':_0x384ab8[_0x52eaa2(0x20c)]?redactFailureRecord(_0x384ab8[_0x52eaa2(0x20c)]):undefined,'after':_0x384ab8[_0x52eaa2(0x1d1)]===undefined?undefined:redactFailureValue(_0x384ab8[_0x52eaa2(0x1d1)])});}function a152_0x2b17(_0xd15ca3,_0x5a74e6){_0xd15ca3=_0xd15ca3-0x1cf;const _0x274994=a152_0x2749();let _0x2b175b=_0x274994[_0xd15ca3];return _0x2b175b;}function redactFailurePlan(_0x10e5ac){const _0x1d9232=a152_0x2ba23b;return{..._0x10e5ac,'selector':redactFailureRecord(_0x10e5ac[_0x1d9232(0x1de)]),'before':redactFailureValue(_0x10e5ac[_0x1d9232(0x24d)]),'after':redactFailureValue(_0x10e5ac['after']),'plannedActions':_0x10e5ac[_0x1d9232(0x220)]?.[_0x1d9232(0x1d5)](_0x36c78c=>({..._0x36c78c,'body':redactFailureRecord(_0x36c78c['body'])})),'succeeded':_0x10e5ac[_0x1d9232(0x1e2)][_0x1d9232(0x1d5)](redactFailureRecord),'failed':_0x10e5ac['failed'][_0x1d9232(0x1d5)](redactFailureRecord),'verification':_0x10e5ac[_0x1d9232(0x20c)]?redactFailureRecord(_0x10e5ac[_0x1d9232(0x20c)]):undefined};}function a152_0x2749(){const _0x5d0ac2=['<redacted>','57cjVfXD','\x20could\x20not\x20be\x20verified.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','length','menu_create_response_invalid','Created\x20menu\x20','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','replace','create-recovery','has','<platform-generated>','currentSnapshotHash','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','filter','plannedActions','menu_verification_failed','\x20with\x20','snapshot','Recovered\x20menu\x20','\x20has\x20an\x20unexpected\x20generated\x20path.','\x20after\x20response\x20loss.','menu_open_mode_invalid','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.','5560114fNPpuh','afterPlan','createdId','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','call','failed','bool','menu_create_recovery_required','menu_sort_invalid','129280CGXiLz','visible','Would\x20create\x20external\x20website\x20link\x20menu\x20','sort','\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.','Created\x20external\x20menu\x20','expectedSnapshotHash','320oFEpyG','menu_mutation_failed','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','parent','cause','Recovered\x20created\x20external\x20menu\x20','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','11vEHkyO','url','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','toLowerCase','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','URL','menu\x20list','menu_url_invalid','\x20--format\x20compress','add','before','rawFlags','12LMzaoe','pre-write-recheck','create\x20external\x20menu','create-menu','The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','2928496iodysK','/smartapi/menu/create','6397IxuLtZ','write','POST','protocol','\x27\x5c\x27\x27','Run\x20','menu_url_https_required','after','menu_parent_not_folder','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','map','menu_not_found','lookupCommand','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','label','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','username','iframe','selector','boolean','Menu\x20','cookie','succeeded','3275890xBcmVJ','plan','type','causemessage','Create\x20an\x20external\x20website\x20link\x20menu','\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','8600904ciJIWJ','rawerror','byId','str','1381010FnxKKI','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','isSafeInteger','Provide\x20an\x20HTTPS\x20URL.','object','parentId','menu','flagMissing','create-response-validation','isArray','expectedPath','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','includes','string','hash','menu_sort_overflow','get','hasOwnProperty','visibility','How\x20to\x20open\x20the\x20external\x20website','menu_url_credentials_forbidden','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','embedded','menu_permission_denied','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','appCode','fromEntries','parent-id','code','path','verification','recovered','data','trim','open-mode'];a152_0x2749=function(){return _0x5d0ac2;};return a152_0x2749();}function redactFailureRecord(_0x587a10){return redactFailureValue(_0x587a10);}function redactFailureValue(_0x133bda,_0x4893f4=''){const _0x43d316=a152_0x2ba23b,_0x581983=_0x4893f4[_0x43d316(0x244)]()[_0x43d316(0x219)](/[^a-z0-9]/g,'');if([_0x43d316(0x23e),_0x43d316(0x1e6),'readbackerror',_0x43d316(0x1eb)][_0x43d316(0x1fa)](_0x581983))return _0x43d316(0x211);if(Array[_0x43d316(0x1f7)](_0x133bda))return _0x133bda[_0x43d316(0x1d5)](_0x383f92=>redactFailureValue(_0x383f92));if(_0x133bda&&typeof _0x133bda==='object')return Object[_0x43d316(0x208)](Object['entries'](_0x133bda)[_0x43d316(0x1d5)](([_0x181398,_0x2d2e8b])=>[_0x181398,redactFailureValue(_0x2d2e8b,_0x181398)]));return _0x133bda;}function safeMenuAddError(_0x15f1da){const _0x2193ef=a152_0x2ba23b,_0x42df40=_0x15f1da instanceof CliError?_0x15f1da['code']:_0x2193ef(0x23b);switch(_0x42df40){case'menu_state_drift':return menuError(_0x42df40,_0x2193ef(0x22d),_0x2193ef(0x1d8));case _0x2193ef(0x205):return menuError(_0x42df40,'Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.');case _0x2193ef(0x216):return menuError(_0x42df40,_0x2193ef(0x1d9),_0x2193ef(0x214));case _0x2193ef(0x221):return menuError(_0x42df40,'Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.',_0x2193ef(0x214));case _0x2193ef(0x231):return menuError(_0x42df40,_0x2193ef(0x253),'Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.');case _0x2193ef(0x23b):case _0x2193ef(0x1d6):case _0x2193ef(0x1d2):case _0x2193ef(0x232):case _0x2193ef(0x1fd):return menuError(_0x42df40,'External\x20menu\x20creation\x20failed.','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.');default:return menuError(_0x2193ef(0x23b),'External\x20menu\x20creation\x20failed.','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.');}}function getFailureRecord(_0x22a034){const _0x208943=a152_0x2ba23b;if(!(_0x22a034 instanceof Error)||!(_0x208943(0x20e)in _0x22a034))return undefined;const _0x3a546c=_0x22a034[_0x208943(0x20e)];if(!_0x3a546c||typeof _0x3a546c!==_0x208943(0x1f2))return undefined;const _0x3d1b5e=_0x3a546c[_0x208943(0x22f)];if(!Array[_0x208943(0x1f7)](_0x3d1b5e)||!_0x3d1b5e[0x0]||typeof _0x3d1b5e[0x0]!==_0x208943(0x1f2))return undefined;return _0x3d1b5e[0x0];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a129_0x12707f=a129_0x366a;(function(_0x3d745c,_0x1bd89e){const _0x47e4fa=a129_0x366a,_0x18c4f7=_0x3d745c();while(!![]){try{const _0x2f1902=-parseInt(_0x47e4fa(0x1b1))/0x1+parseInt(_0x47e4fa(0x1b2))/0x2+-parseInt(_0x47e4fa(0x1d1))/0x3*(parseInt(_0x47e4fa(0x1cf))/0x4)+parseInt(_0x47e4fa(0x1ce))/0x5*(-parseInt(_0x47e4fa(0x1de))/0x6)+parseInt(_0x47e4fa(0x1ba))/0x7*(-parseInt(_0x47e4fa(0x1b7))/0x8)+parseInt(_0x47e4fa(0x1c9))/0x9+parseInt(_0x47e4fa(0x1a7))/0xa*(parseInt(_0x47e4fa(0x1e7))/0xb);if(_0x2f1902===_0x1bd89e)break;else _0x18c4f7['push'](_0x18c4f7['shift']());}catch(_0x11979d){_0x18c4f7['push'](_0x18c4f7['shift']());}}}(a129_0xe7de,0xc4915));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{validateExternalMenuUrl}from'../../commands/menu/external-link-create.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';function a129_0xe7de(){const _0x319688=['379734xQIlsF','\x20has\x20an\x20empty\x20platform\x20path.','menu_state_drift','type','flagMissing','56VFUNcc','url','iframe','97958eMjCUE','expect-parent-id','Run\x20','\x20could\x20not\x20be\x20verified\x20safely','update-recovery','readbackFailed','\x27\x5c\x27\x27','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','menu_external_link_not_leaf','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','path','menu_external_link_path_missing','rabetbase\x20menu\x20list\x20--appcode\x20','\x20direct\x20child\x20menu(s).',',\x20current\x20','5811039bfPqFk','external-link-update','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','POST','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','230KPkkiu','4qGMvsG','byId','1422561qYFOBV','menu_permission_denied','Menu\x20','\x20URL\x20update\x20did\x20not\x20take\x20effect.','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','unknown','sort','\x20parent\x20changed:\x20expected\x20','visible','/smartapi/menu/update','The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','\x20changed\x20during\x20the\x20URL-only\x20update.','\x20--format\x20compress','187806eJRWaK','replace','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','after','str','requestedUrlObserved','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','verify\x20external\x20menu\x20URL\x20update','code','7228573WLMgXU','cookie','link','expect-url','trim','New\x20external\x20HTTPS\x20URL','string','failed','update\x20external\x20menu\x20URL','hash','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','menu','Update\x20request\x20for\x20menu\x20','write','appCode','\x20has\x20','menu_external_link_type_required','snapshot','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','50aYvUhj','label','get','body','parentId','\x20already\x20matches\x20the\x20requested\x20URL.','menu_update_recovery_required','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','childrenCount','1304121EMAtyf'];a129_0xe7de=function(){return _0x319688;};return a129_0xe7de();}import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,hasFlag,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,parseParentId,recheckMutationSnapshot,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';function a129_0x366a(_0x956d16,_0x455177){_0x956d16=_0x956d16-0x1a7;const _0xe7dec2=a129_0xe7de();let _0x366aa3=_0xe7dec2[_0x956d16];return _0x366aa3;}import{CliErrors}from'../../errors.js';const BACKEND=[{'method':'POST','path':'/smartapi/menu/update'}];export const menuExternalLinkUpdate={'service':a129_0x12707f(0x1f2),'command':a129_0x12707f(0x1ca),'description':a129_0x12707f(0x1f1),'risk':a129_0x12707f(0x1f4),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a129_0x12707f(0x1b8),'type':a129_0x12707f(0x1ed),'required':!![],'description':a129_0x12707f(0x1ec)},{'name':a129_0x12707f(0x1ea),'type':a129_0x12707f(0x1ed),'required':!![],'description':a129_0x12707f(0x1cd)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x2fdf7b){validateInput(_0x2fdf7b);},async 'dryRun'(_0x3d95d9){const _0x476dac=a129_0x12707f;validateInput(_0x3d95d9);const _0x4611d1=await buildPlan(_0x3d95d9,!![]);return menuDryRunResult(_0x4611d1['plan'],{'method':_0x476dac(0x1cc),'url':_0x476dac(0x1da),'body':_0x4611d1[_0x476dac(0x1aa)],'description':_0x476dac(0x1c1)+_0x4611d1[_0x476dac(0x1aa)]['id']+'.'});},async 'execute'(_0xb7171f){const _0x47b2cb=a129_0x12707f;validateInput(_0xb7171f);const _0x310174=await buildPlan(_0xb7171f,![]),{plan:_0x28ec8e,body:_0x5e4dca,before:_0x2efa62,noChanges:_0x43adec}=_0x310174,_0x2850d6=_0x5e4dca['id'];if(_0x43adec)return updateSuccess(_0x28ec8e,_0x310174[_0x47b2cb(0x1f8)],_0x2efa62,!![],![]);await recheckMutationSnapshot(_0xb7171f,_0x28ec8e,_0x47b2cb(0x1ef),_0x2850d6);try{await updateMenuEntity(_0xb7171f[_0x47b2cb(0x1f5)],_0xb7171f[_0x47b2cb(0x1e8)],{'id':_0x5e4dca['id'],'url':_0x5e4dca['url']});}catch(_0x4c9b1d){const _0x23eef3=mapMenuApiError(_0x4c9b1d,_0x47b2cb(0x1ef),_0x2850d6);if(isMenuResponseLoss(_0x4c9b1d)&&_0x23eef3[_0x47b2cb(0x1e6)]!==_0x47b2cb(0x1d2))return recoverAfterResponseLoss(_0xb7171f,_0x310174);throw menuFailure(_0x23eef3,_0x28ec8e,{'stage':'update','failed':{'id':_0x2850d6},'warnings':[_0x47b2cb(0x1e0)],'verification':{'status':_0x47b2cb(0x1ee),'targetId':_0x2850d6,'lookupCommand':buildLookupCommand(_0xb7171f[_0x47b2cb(0x1f5)])}});}let _0x334f2b,_0x28a485;try{_0x334f2b=await fetchMenuSnapshot(_0xb7171f[_0x47b2cb(0x1f5)],_0xb7171f[_0x47b2cb(0x1e8)]),_0x28a485=requireMenu(_0x334f2b,_0x2850d6),verifyUpdatedFact(_0x2efa62,_0x28a485,_0x5e4dca['url']);}catch(_0xa7df3f){const _0x46570e=describeMenuErrorCause(_0xa7df3f,_0x47b2cb(0x1e5),_0x2850d6),_0x28ae3b=asVerificationError(_0xa7df3f,_0x47b2cb(0x1f3)+_0x2850d6+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x28ae3b,_0x28ec8e,{'stage':'verification','succeeded':[{'id':_0x2850d6,'updateRequested':!![]}],'failed':{'id':_0x2850d6,'requestedStateConfirmed':![],..._0x46570e},'warnings':[_0x47b2cb(0x1db)],'verification':{'status':_0x47b2cb(0x1ee),'targetId':_0x2850d6,'lookupCommand':buildLookupCommand(_0xb7171f[_0x47b2cb(0x1f5)])}});}return updateSuccess(_0x28ec8e,_0x334f2b,_0x28a485,![],![]);}};function validateInput(_0x44e280){const _0x393da1=a129_0x12707f;validateExactId(_0x44e280),requiredUrl(_0x44e280,'url'),requiredExpectedUrl(_0x44e280),parseParentId(_0x44e280,_0x393da1(0x1bb),{'required':!![]});}function requiredUrl(_0x263e52,_0x2755c0){const _0x13dbe2=a129_0x12707f;if(!hasFlag(_0x263e52,_0x2755c0)||!_0x263e52[_0x13dbe2(0x1e2)](_0x2755c0)['trim']())throw CliErrors[_0x13dbe2(0x1b6)](_0x2755c0);return validateExternalMenuUrl(_0x263e52[_0x13dbe2(0x1e2)](_0x2755c0));}function requiredExpectedUrl(_0x9fdc55){const _0x384570=a129_0x12707f;if(!hasFlag(_0x9fdc55,_0x384570(0x1ea))||!_0x9fdc55[_0x384570(0x1e2)](_0x384570(0x1ea))['trim']())throw CliErrors[_0x384570(0x1b6)](_0x384570(0x1ea));return _0x9fdc55[_0x384570(0x1e2)](_0x384570(0x1ea))[_0x384570(0x1eb)]();}async function buildPlan(_0x5b316f,_0x3a4be3){const _0xd487d5=a129_0x12707f,_0x28d22f=validateExactId(_0x5b316f),_0xde62ca=requiredUrl(_0x5b316f,_0xd487d5(0x1b8)),_0x2bc04c=requiredExpectedUrl(_0x5b316f),_0x40670e=parseParentId(_0x5b316f,_0xd487d5(0x1bb),{'required':!![]}),_0x419d68=await fetchMutationSnapshot(_0x5b316f,_0xd487d5(0x1ef),_0x28d22f),_0x22704c=requireMenu(_0x419d68,_0x28d22f);assertExternalLinkLeaf(_0x22704c);if(_0x22704c[_0xd487d5(0x1ab)]!==_0x40670e)throw menuError(_0xd487d5(0x1b4),_0xd487d5(0x1d3)+_0x28d22f+_0xd487d5(0x1d8)+formatParent(_0x40670e)+_0xd487d5(0x1c8)+formatParent(_0x22704c[_0xd487d5(0x1ab)])+'.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.');const _0x4e091f=_0x22704c[_0xd487d5(0x1b8)]===_0xde62ca;if(!_0x4e091f&&_0x22704c['url']!==_0x2bc04c)throw menuError(_0xd487d5(0x1b4),_0xd487d5(0x1d3)+_0x28d22f+_0xd487d5(0x1ae),_0xd487d5(0x1af));const _0x115d43={'id':_0x28d22f,'appCode':_0x5b316f[_0xd487d5(0x1f5)],'url':_0xde62ca},_0x30ce90={..._0x22704c,'url':_0xde62ca};return{'body':_0x115d43,'before':_0x22704c,'noChanges':_0x4e091f,'snapshot':_0x419d68,'plan':mutationResult({'operation':_0xd487d5(0x1ca),'selector':{'id':_0x28d22f},'before':_0x22704c,'after':_0x30ce90,'dryRun':_0x3a4be3,'backend':[...BACKEND],'plannedActions':_0x4e091f?[]:[{'stage':'update-external-link-url','method':_0xd487d5(0x1cc),'path':_0xd487d5(0x1da),'body':_0x115d43}],'snapshotHash':_0x419d68[_0xd487d5(0x1f0)],'warnings':_0x4e091f?[_0xd487d5(0x1cb)]:[]})};}function assertExternalLinkLeaf(_0x3455d2){const _0x204092=a129_0x12707f;if(_0x3455d2[_0x204092(0x1b5)]!==_0x204092(0x1b9)&&_0x3455d2[_0x204092(0x1b5)]!==_0x204092(0x1e9))throw menuError(_0x204092(0x1f7),_0x204092(0x1d3)+_0x3455d2['id']+'\x20is\x20type\x20\x22'+(_0x3455d2['type']||_0x204092(0x1d6))+'\x22,\x20not\x20iframe\x20or\x20link.',_0x204092(0x1fa));if(_0x3455d2[_0x204092(0x1b0)]!==0x0)throw menuError(_0x204092(0x1c2),'Menu\x20'+_0x3455d2['id']+_0x204092(0x1f6)+_0x3455d2[_0x204092(0x1b0)]+_0x204092(0x1c7),'External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.');if(!_0x3455d2[_0x204092(0x1c4)][_0x204092(0x1eb)]())throw menuError(_0x204092(0x1c5),_0x204092(0x1d3)+_0x3455d2['id']+_0x204092(0x1b3),_0x204092(0x1d5));}function verifyUpdatedFact(_0x4a11d8,_0xd94be2,_0x21646b){const _0x238ece=a129_0x12707f;assertExternalLinkLeaf(_0xd94be2);const _0x34af8f=[['id',_0xd94be2['id'],_0x4a11d8['id']],[_0x238ece(0x1a8),_0xd94be2['label'],_0x4a11d8[_0x238ece(0x1a8)]],['type',_0xd94be2['type'],_0x4a11d8[_0x238ece(0x1b5)]],[_0x238ece(0x1c4),_0xd94be2['path'],_0x4a11d8['path']],[_0x238ece(0x1ab),_0xd94be2[_0x238ece(0x1ab)],_0x4a11d8[_0x238ece(0x1ab)]],[_0x238ece(0x1d7),_0xd94be2['sort'],_0x4a11d8[_0x238ece(0x1d7)]],['visible',_0xd94be2['visible'],_0x4a11d8[_0x238ece(0x1d9)]]];for(const [_0x1efe83,_0x4f77d3,_0x42461a]of _0x34af8f){assertVerified(_0x4f77d3===_0x42461a,'Menu\x20'+_0x4a11d8['id']+'\x20'+_0x1efe83+_0x238ece(0x1dc));}assertVerified(_0xd94be2[_0x238ece(0x1b8)]===_0x21646b,_0x238ece(0x1d3)+_0x4a11d8['id']+_0x238ece(0x1d4));}function updateSuccess(_0x18a28a,_0x409276,_0x49aac1,_0x2f3131,_0x502a78){const _0x305f31=a129_0x12707f,_0x371929=_0x49aac1['id'],_0x1be6e3=mutationResult({..._0x18a28a,'after':_0x49aac1,'dryRun':![],'succeeded':[{'id':_0x371929,'updated':!_0x2f3131,'skipped':_0x2f3131,'recovered':_0x502a78}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x409276[_0x305f31(0x1f0)],'targetId':_0x371929,'matchesRequestedState':!![],'recovered':_0x502a78}});return{'ok':!![],'message':_0x502a78?_0x305f31(0x1f9)+_0x371929+'.':_0x2f3131?_0x305f31(0x1d3)+_0x371929+_0x305f31(0x1ac):'Updated\x20external\x20URL\x20for\x20menu\x20'+_0x371929+'.','data':{..._0x1be6e3,'recovered':_0x502a78}};}async function recoverAfterResponseLoss(_0x56f41d,_0x1026a9){const _0x6772b7=a129_0x12707f,{plan:_0x261f18,before:_0x100371,body:_0x259a7a}=_0x1026a9;let _0x360a9e;try{_0x360a9e=await fetchMenuSnapshot(_0x56f41d[_0x6772b7(0x1f5)],_0x56f41d[_0x6772b7(0x1e8)]);}catch{throw recoveryRequired(_0x261f18,_0x56f41d[_0x6772b7(0x1f5)],{'id':_0x259a7a['id'],'readbackFailed':!![]});}const _0x23c5ce=_0x360a9e[_0x6772b7(0x1d0)][_0x6772b7(0x1a9)](_0x259a7a['id']);if(!_0x23c5ce||_0x23c5ce['url']!==_0x259a7a[_0x6772b7(0x1b8)])throw recoveryRequired(_0x261f18,_0x56f41d[_0x6772b7(0x1f5)],{'id':_0x259a7a['id'],'requestedUrlObserved':![],'after':_0x23c5ce??null});try{verifyUpdatedFact(_0x100371,_0x23c5ce,_0x259a7a[_0x6772b7(0x1b8)]);}catch(_0x2bd73a){const _0x5a5ba9=asVerificationError(_0x2bd73a,'Response\x20was\x20lost\x20and\x20menu\x20'+_0x259a7a['id']+_0x6772b7(0x1bd));throw menuFailure(_0x5a5ba9,_0x261f18,{'stage':_0x6772b7(0x1be),'succeeded':[{'id':_0x259a7a['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x259a7a['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x23c5ce,'warnings':[_0x6772b7(0x1e4)],'verification':{'status':_0x6772b7(0x1ee),'targetId':_0x259a7a['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x56f41d[_0x6772b7(0x1f5)])}});}return updateSuccess(_0x261f18,_0x360a9e,_0x23c5ce,![],!![]);}function recoveryRequired(_0x1de598,_0x587f18,_0x4b6cb4){const _0x507ae9=a129_0x12707f,_0x22fdb9=menuError(_0x507ae9(0x1ad),'The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.',_0x507ae9(0x1bc)+buildLookupCommand(_0x587f18)+_0x507ae9(0x1c3));return menuFailure(_0x22fdb9,_0x1de598,{'stage':'update-recovery','failed':{'id':_0x4b6cb4['id'],..._0x4b6cb4[_0x507ae9(0x1e3)]===undefined?{}:{'requestedUrlObserved':_0x4b6cb4[_0x507ae9(0x1e3)]},..._0x4b6cb4['readbackFailed']?{'readbackFailed':!![]}:{}},'after':_0x4b6cb4[_0x507ae9(0x1e1)],'warnings':['The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.'],'verification':{'status':_0x507ae9(0x1ee),'targetId':_0x4b6cb4['id'],..._0x4b6cb4['requestedUrlObserved']===undefined?{}:{'requestedUrlObserved':_0x4b6cb4['requestedUrlObserved']},..._0x4b6cb4[_0x507ae9(0x1bf)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x587f18)}});}function buildLookupCommand(_0xafb9a0){const _0x1700bd=a129_0x12707f,_0x12c246='\x27'+_0xafb9a0[_0x1700bd(0x1df)](/'/g,_0x1700bd(0x1c0))+'\x27';return _0x1700bd(0x1c6)+_0x12c246+_0x1700bd(0x1dd);}
|
|
1
|
+
const a153_0x11f63=a153_0x26f8;(function(_0x567f37,_0x2a8846){const _0x551ac3=a153_0x26f8,_0x4f1385=_0x567f37();while(!![]){try{const _0x37fba8=parseInt(_0x551ac3(0x1c6))/0x1*(parseInt(_0x551ac3(0x1b8))/0x2)+parseInt(_0x551ac3(0x1ec))/0x3*(-parseInt(_0x551ac3(0x1de))/0x4)+-parseInt(_0x551ac3(0x1b9))/0x5*(-parseInt(_0x551ac3(0x1d0))/0x6)+parseInt(_0x551ac3(0x1b0))/0x7+-parseInt(_0x551ac3(0x1c3))/0x8*(-parseInt(_0x551ac3(0x1d2))/0x9)+-parseInt(_0x551ac3(0x1d5))/0xa*(parseInt(_0x551ac3(0x1a7))/0xb)+-parseInt(_0x551ac3(0x1a2))/0xc;if(_0x37fba8===_0x2a8846)break;else _0x4f1385['push'](_0x4f1385['shift']());}catch(_0x5b51fe){_0x4f1385['push'](_0x4f1385['shift']());}}}(a153_0xed15,0x41448));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{validateExternalMenuUrl}from'../../commands/menu/external-link-create.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';function a153_0xed15(){const _0x3ab960=['New\x20external\x20HTTPS\x20URL','menu','492118kIeNPI','menu\x20list','update-external-link-url','external-link-update','childrenCount','\x20has\x20an\x20empty\x20platform\x20path.','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','\x20could\x20not\x20be\x20verified\x20safely','label','2289427maYXpu','appCode','path','readbackFailed','Update\x20request\x20for\x20menu\x20','\x20direct\x20child\x20menu(s).','str','\x20is\x20type\x20\x22','14VNulEm','579545nIbDXF','/smartapi/menu/update','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','visible','\x20URL\x20update\x20did\x20not\x20take\x20effect.','menu_external_link_path_missing','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','type','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.','parentId','3545992rVRlOY','hash','menu_permission_denied','8785PiCZtK','trim','Updated\x20external\x20URL\x20for\x20menu\x20','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','menu_state_drift','body','link','iframe','failed','update-recovery','18OscznP','update\x20external\x20menu\x20URL','9ztiCvk',',\x20current\x20','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','70cFqZjy','\x22,\x20not\x20iframe\x20or\x20link.','Menu\x20','plan','requestedUrlObserved','url','snapshot','\x20changed\x20during\x20the\x20URL-only\x20update.','cookie','428jqErCx','menu_update_recovery_required','flagMissing','replace','expect-parent-id','\x20parent\x20changed:\x20expected\x20','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','byId','expect-url','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','sort','string','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','9939rYTifn','rabetbase\x20menu\x20list\x20--appcode\x20','\x27\x5c\x27\x27','after','unknown','POST','menu_external_link_type_required','\x20--format\x20compress','2934468sidNod','code','verification'];a153_0xed15=function(){return _0x3ab960;};return a153_0xed15();}import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,hasFlag,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,parseParentId,recheckMutationSnapshot,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';function a153_0x26f8(_0x30463f,_0x533984){_0x30463f=_0x30463f-0x19d;const _0xed1532=a153_0xed15();let _0x26f899=_0xed1532[_0x30463f];return _0x26f899;}import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a153_0x11f63(0x19f),'path':'/smartapi/menu/update'}];export const menuExternalLinkUpdate={'service':a153_0x11f63(0x1a6),'command':a153_0x11f63(0x1aa),'description':'Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','risk':'write','structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':'url','type':a153_0x11f63(0x1ea),'required':!![],'description':a153_0x11f63(0x1a5)},{'name':a153_0x11f63(0x1e6),'type':a153_0x11f63(0x1ea),'required':!![],'description':'Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed'},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x42976b){validateInput(_0x42976b);},async 'dryRun'(_0x5936f2){const _0x5965d9=a153_0x11f63;validateInput(_0x5936f2);const _0x3414c8=await buildPlan(_0x5936f2,!![]);return menuDryRunResult(_0x3414c8[_0x5965d9(0x1d8)],{'method':_0x5965d9(0x19f),'url':_0x5965d9(0x1ba),'body':_0x3414c8['body'],'description':_0x5965d9(0x1eb)+_0x3414c8[_0x5965d9(0x1cb)]['id']+'.'});},async 'execute'(_0x52efe9){const _0x394c95=a153_0x11f63;validateInput(_0x52efe9);const _0x3f3a65=await buildPlan(_0x52efe9,![]),{plan:_0x2c5c8f,body:_0x23e1a5,before:_0x1f9a64,noChanges:_0x14e63a}=_0x3f3a65,_0x1567d2=_0x23e1a5['id'];if(_0x14e63a)return updateSuccess(_0x2c5c8f,_0x3f3a65[_0x394c95(0x1db)],_0x1f9a64,!![],![]);await recheckMutationSnapshot(_0x52efe9,_0x2c5c8f,_0x394c95(0x1d1),_0x1567d2);try{await updateMenuEntity(_0x52efe9[_0x394c95(0x1b1)],_0x52efe9[_0x394c95(0x1dd)],{'id':_0x23e1a5['id'],'url':_0x23e1a5['url']});}catch(_0x1e1714){const _0x14db61=mapMenuApiError(_0x1e1714,_0x394c95(0x1d1),_0x1567d2);if(isMenuResponseLoss(_0x1e1714)&&_0x14db61[_0x394c95(0x1a3)]!==_0x394c95(0x1c5))return recoverAfterResponseLoss(_0x52efe9,_0x3f3a65);throw menuFailure(_0x14db61,_0x2c5c8f,{'stage':'update','failed':{'id':_0x1567d2},'warnings':['The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':_0x394c95(0x1ce),'targetId':_0x1567d2,'lookupCommand':buildLookupCommand(_0x52efe9['appCode'])}});}let _0x53a98c,_0x595cd6;try{_0x53a98c=await fetchMenuSnapshot(_0x52efe9[_0x394c95(0x1b1)],_0x52efe9['cookie']),_0x595cd6=requireMenu(_0x53a98c,_0x1567d2),verifyUpdatedFact(_0x1f9a64,_0x595cd6,_0x23e1a5[_0x394c95(0x1da)]);}catch(_0xae1c3a){const _0x9e6393=describeMenuErrorCause(_0xae1c3a,'verify\x20external\x20menu\x20URL\x20update',_0x1567d2),_0x4c26b5=asVerificationError(_0xae1c3a,_0x394c95(0x1b4)+_0x1567d2+_0x394c95(0x1bf));throw menuFailure(_0x4c26b5,_0x2c5c8f,{'stage':_0x394c95(0x1a4),'succeeded':[{'id':_0x1567d2,'updateRequested':!![]}],'failed':{'id':_0x1567d2,'requestedStateConfirmed':![],..._0x9e6393},'warnings':['The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':'failed','targetId':_0x1567d2,'lookupCommand':buildLookupCommand(_0x52efe9[_0x394c95(0x1b1)])}});}return updateSuccess(_0x2c5c8f,_0x53a98c,_0x595cd6,![],![]);}};function validateInput(_0x24e0e1){const _0x3f7d16=a153_0x11f63;validateExactId(_0x24e0e1),requiredUrl(_0x24e0e1,_0x3f7d16(0x1da)),requiredExpectedUrl(_0x24e0e1),parseParentId(_0x24e0e1,'expect-parent-id',{'required':!![]});}function requiredUrl(_0x3eb169,_0x370232){const _0x1158ca=a153_0x11f63;if(!hasFlag(_0x3eb169,_0x370232)||!_0x3eb169[_0x1158ca(0x1b6)](_0x370232)['trim']())throw CliErrors['flagMissing'](_0x370232);return validateExternalMenuUrl(_0x3eb169['str'](_0x370232));}function requiredExpectedUrl(_0x57d0fe){const _0x2eefda=a153_0x11f63;if(!hasFlag(_0x57d0fe,_0x2eefda(0x1e6))||!_0x57d0fe['str'](_0x2eefda(0x1e6))['trim']())throw CliErrors[_0x2eefda(0x1e0)](_0x2eefda(0x1e6));return _0x57d0fe['str']('expect-url')[_0x2eefda(0x1c7)]();}async function buildPlan(_0x1fd36d,_0xa0fb61){const _0x5e9ca2=a153_0x11f63,_0x17d388=validateExactId(_0x1fd36d),_0x38ea4f=requiredUrl(_0x1fd36d,_0x5e9ca2(0x1da)),_0x229c5a=requiredExpectedUrl(_0x1fd36d),_0x144dce=parseParentId(_0x1fd36d,_0x5e9ca2(0x1e2),{'required':!![]}),_0x5b1b39=await fetchMutationSnapshot(_0x1fd36d,'update\x20external\x20menu\x20URL',_0x17d388),_0x1a0c43=requireMenu(_0x5b1b39,_0x17d388);assertExternalLinkLeaf(_0x1a0c43);if(_0x1a0c43[_0x5e9ca2(0x1c2)]!==_0x144dce)throw menuError('menu_state_drift',_0x5e9ca2(0x1d7)+_0x17d388+_0x5e9ca2(0x1e3)+formatParent(_0x144dce)+_0x5e9ca2(0x1d3)+formatParent(_0x1a0c43[_0x5e9ca2(0x1c2)])+'.',_0x5e9ca2(0x1e7));const _0x4bc7de=_0x1a0c43['url']===_0x38ea4f;if(!_0x4bc7de&&_0x1a0c43[_0x5e9ca2(0x1da)]!==_0x229c5a)throw menuError(_0x5e9ca2(0x1ca),_0x5e9ca2(0x1d7)+_0x17d388+'\x20URL\x20no\x20longer\x20matches\x20--expect-url.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.');const _0xe972c3={'id':_0x17d388,'appCode':_0x1fd36d[_0x5e9ca2(0x1b1)],'url':_0x38ea4f},_0x42ec24={..._0x1a0c43,'url':_0x38ea4f};return{'body':_0xe972c3,'before':_0x1a0c43,'noChanges':_0x4bc7de,'snapshot':_0x5b1b39,'plan':mutationResult({'operation':_0x5e9ca2(0x1aa),'selector':{'id':_0x17d388},'before':_0x1a0c43,'after':_0x42ec24,'dryRun':_0xa0fb61,'backend':[...BACKEND],'plannedActions':_0x4bc7de?[]:[{'stage':_0x5e9ca2(0x1a9),'method':_0x5e9ca2(0x19f),'path':_0x5e9ca2(0x1ba),'body':_0xe972c3}],'snapshotHash':_0x5b1b39[_0x5e9ca2(0x1c4)],'warnings':_0x4bc7de?[_0x5e9ca2(0x1d4)]:[]})};}function assertExternalLinkLeaf(_0x5f3aaa){const _0x5b3ec4=a153_0x11f63;if(_0x5f3aaa[_0x5b3ec4(0x1c0)]!==_0x5b3ec4(0x1cd)&&_0x5f3aaa[_0x5b3ec4(0x1c0)]!==_0x5b3ec4(0x1cc))throw menuError(_0x5b3ec4(0x1a0),_0x5b3ec4(0x1d7)+_0x5f3aaa['id']+_0x5b3ec4(0x1b7)+(_0x5f3aaa['type']||_0x5b3ec4(0x19e))+_0x5b3ec4(0x1d6),_0x5b3ec4(0x1bb));if(_0x5f3aaa['childrenCount']!==0x0)throw menuError('menu_external_link_not_leaf',_0x5b3ec4(0x1d7)+_0x5f3aaa['id']+'\x20has\x20'+_0x5f3aaa[_0x5b3ec4(0x1ab)]+_0x5b3ec4(0x1b5),_0x5b3ec4(0x1c1));if(!_0x5f3aaa[_0x5b3ec4(0x1b2)][_0x5b3ec4(0x1c7)]())throw menuError(_0x5b3ec4(0x1be),_0x5b3ec4(0x1d7)+_0x5f3aaa['id']+_0x5b3ec4(0x1ac),_0x5b3ec4(0x1e4));}function verifyUpdatedFact(_0x1e4cee,_0x1f8c03,_0x190baa){const _0x49eb3d=a153_0x11f63;assertExternalLinkLeaf(_0x1f8c03);const _0x23872d=[['id',_0x1f8c03['id'],_0x1e4cee['id']],[_0x49eb3d(0x1af),_0x1f8c03[_0x49eb3d(0x1af)],_0x1e4cee['label']],['type',_0x1f8c03[_0x49eb3d(0x1c0)],_0x1e4cee[_0x49eb3d(0x1c0)]],[_0x49eb3d(0x1b2),_0x1f8c03[_0x49eb3d(0x1b2)],_0x1e4cee[_0x49eb3d(0x1b2)]],[_0x49eb3d(0x1c2),_0x1f8c03[_0x49eb3d(0x1c2)],_0x1e4cee[_0x49eb3d(0x1c2)]],['sort',_0x1f8c03['sort'],_0x1e4cee[_0x49eb3d(0x1e9)]],[_0x49eb3d(0x1bc),_0x1f8c03[_0x49eb3d(0x1bc)],_0x1e4cee[_0x49eb3d(0x1bc)]]];for(const [_0x38dfdf,_0x2c86eb,_0x24f595]of _0x23872d){assertVerified(_0x2c86eb===_0x24f595,_0x49eb3d(0x1d7)+_0x1e4cee['id']+'\x20'+_0x38dfdf+_0x49eb3d(0x1dc));}assertVerified(_0x1f8c03[_0x49eb3d(0x1da)]===_0x190baa,_0x49eb3d(0x1d7)+_0x1e4cee['id']+_0x49eb3d(0x1bd));}function updateSuccess(_0x139aa7,_0x8ff3ad,_0x31d853,_0x58c13d,_0x1b7db9){const _0xda8ed0=a153_0x11f63,_0x24dff6=_0x31d853['id'],_0x4a0738=mutationResult({..._0x139aa7,'after':_0x31d853,'dryRun':![],'succeeded':[{'id':_0x24dff6,'updated':!_0x58c13d,'skipped':_0x58c13d,'recovered':_0x1b7db9}],'verification':{'checkedBy':_0xda8ed0(0x1a8),'snapshotHash':_0x8ff3ad[_0xda8ed0(0x1c4)],'targetId':_0x24dff6,'matchesRequestedState':!![],'recovered':_0x1b7db9}});return{'ok':!![],'message':_0x1b7db9?_0xda8ed0(0x1e8)+_0x24dff6+'.':_0x58c13d?'Menu\x20'+_0x24dff6+'\x20already\x20matches\x20the\x20requested\x20URL.':_0xda8ed0(0x1c8)+_0x24dff6+'.','data':{..._0x4a0738,'recovered':_0x1b7db9}};}async function recoverAfterResponseLoss(_0x572683,_0x2abcc5){const _0x3916a0=a153_0x11f63,{plan:_0x251914,before:_0x5dd4e8,body:_0xa6e716}=_0x2abcc5;let _0x5ec357;try{_0x5ec357=await fetchMenuSnapshot(_0x572683[_0x3916a0(0x1b1)],_0x572683[_0x3916a0(0x1dd)]);}catch{throw recoveryRequired(_0x251914,_0x572683[_0x3916a0(0x1b1)],{'id':_0xa6e716['id'],'readbackFailed':!![]});}const _0x438d0a=_0x5ec357[_0x3916a0(0x1e5)]['get'](_0xa6e716['id']);if(!_0x438d0a||_0x438d0a['url']!==_0xa6e716['url'])throw recoveryRequired(_0x251914,_0x572683[_0x3916a0(0x1b1)],{'id':_0xa6e716['id'],'requestedUrlObserved':![],'after':_0x438d0a??null});try{verifyUpdatedFact(_0x5dd4e8,_0x438d0a,_0xa6e716['url']);}catch(_0x4b0749){const _0x1207a4=asVerificationError(_0x4b0749,'Response\x20was\x20lost\x20and\x20menu\x20'+_0xa6e716['id']+_0x3916a0(0x1ae));throw menuFailure(_0x1207a4,_0x251914,{'stage':_0x3916a0(0x1cf),'succeeded':[{'id':_0xa6e716['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0xa6e716['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x438d0a,'warnings':[_0x3916a0(0x1ad)],'verification':{'status':_0x3916a0(0x1ce),'targetId':_0xa6e716['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x572683['appCode'])}});}return updateSuccess(_0x251914,_0x5ec357,_0x438d0a,![],!![]);}function recoveryRequired(_0x53f463,_0x141d00,_0x1db402){const _0x16a761=a153_0x11f63,_0x4dc996=menuError(_0x16a761(0x1df),_0x16a761(0x1c9),'Run\x20'+buildLookupCommand(_0x141d00)+'\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.');return menuFailure(_0x4dc996,_0x53f463,{'stage':_0x16a761(0x1cf),'failed':{'id':_0x1db402['id'],..._0x1db402['requestedUrlObserved']===undefined?{}:{'requestedUrlObserved':_0x1db402[_0x16a761(0x1d9)]},..._0x1db402['readbackFailed']?{'readbackFailed':!![]}:{}},'after':_0x1db402[_0x16a761(0x19d)],'warnings':['The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.'],'verification':{'status':_0x16a761(0x1ce),'targetId':_0x1db402['id'],..._0x1db402[_0x16a761(0x1d9)]===undefined?{}:{'requestedUrlObserved':_0x1db402[_0x16a761(0x1d9)]},..._0x1db402[_0x16a761(0x1b3)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x141d00)}});}function buildLookupCommand(_0x3e8d6c){const _0x37bb82=a153_0x11f63,_0x3a8890='\x27'+_0x3e8d6c[_0x37bb82(0x1e1)](/'/g,_0x37bb82(0x1ee))+'\x27';return _0x37bb82(0x1ed)+_0x3a8890+_0x37bb82(0x1a1);}
|