@lovrabet/rabetbase-cli 2.4.1 → 2.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/api-doc.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/auth/auth-server-ui.js +1 -1
- package/lib/auth/auth-server.js +1 -1
- package/lib/auth/constant.js +1 -1
- package/lib/auth/get-cookie.js +1 -1
- package/lib/auth/get-session-user.js +1 -1
- package/lib/auth/is-session-valid.js +1 -1
- package/lib/auth/login-success-html.js +1 -1
- package/lib/auth/logout.js +1 -1
- package/lib/cli-flags.js +1 -1
- package/lib/cli.js +1 -1
- package/lib/commands/api/generate.js +1 -1
- package/lib/commands/api/index.js +1 -1
- package/lib/commands/api/list.js +1 -1
- package/lib/commands/api/pull.js +1 -1
- package/lib/commands/api/shared.js +1 -1
- package/lib/commands/app/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/members-list.js +1 -1
- package/lib/commands/app/remote-directory.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/delete.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/app-config/list.js +1 -1
- package/lib/commands/app-config/set.js +1 -1
- package/lib/commands/app-config/shared.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/bff/create.js +1 -1
- package/lib/commands/bff/delete.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/bff/list.js +1 -1
- package/lib/commands/bff/pull.js +1 -1
- package/lib/commands/bff/push.js +1 -1
- package/lib/commands/bff/status.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/cli-update.js +1 -1
- package/lib/commands/codegen/index.js +1 -1
- package/lib/commands/codegen/sdk.js +1 -1
- package/lib/commands/codegen/sql.js +1 -1
- package/lib/commands/common/app-registry.js +1 -1
- package/lib/commands/common/app-selector.js +1 -1
- package/lib/commands/common/async-task.js +1 -1
- package/lib/commands/common/dry-run.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/common/validate.js +1 -1
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.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/data/filter.js +1 -1
- package/lib/commands/data/getOne.js +1 -1
- package/lib/commands/data/index.js +1 -1
- package/lib/commands/data/shared.js +1 -1
- package/lib/commands/dataset/business-group-update.js +1 -1
- package/lib/commands/dataset/capability.js +1 -1
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/extend-update.js +1 -1
- package/lib/commands/dataset/field-update.js +1 -1
- package/lib/commands/dataset/generate.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/dataset/relation-audit.js +1 -1
- package/lib/commands/dataset/relation-create.js +1 -1
- package/lib/commands/dataset/relation-delete.js +1 -1
- package/lib/commands/dataset/relation-shared.js +1 -1
- package/lib/commands/dataset/relation-update.js +1 -1
- package/lib/commands/dataset/relations.js +1 -1
- package/lib/commands/dataset/rename.js +1 -1
- package/lib/commands/dataset/restore.js +1 -1
- package/lib/commands/db/analysis-batching.js +1 -1
- package/lib/commands/db/analyze-batch-plan.js +1 -1
- package/lib/commands/db/analyze-cancel.js +1 -1
- package/lib/commands/db/analyze-start.js +1 -1
- package/lib/commands/db/analyze-status.js +1 -1
- package/lib/commands/db/create.js +1 -1
- package/lib/commands/db/delete.js +1 -1
- package/lib/commands/db/detail.js +1 -1
- package/lib/commands/db/diff.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/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/init/index.js +1 -1
- package/lib/commands/issue/index.js +1 -1
- package/lib/commands/issue/nudge.js +1 -1
- package/lib/commands/issue/report.js +1 -1
- package/lib/commands/issue/shared.js +1 -1
- package/lib/commands/kb/create.js +1 -1
- package/lib/commands/kb/delete.js +1 -1
- package/lib/commands/kb/detail.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/kb/list.js +1 -1
- package/lib/commands/kb/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/notification/config-list.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/ocr/index.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/react/create.js +1 -1
- package/lib/commands/page/react/detail.js +1 -1
- package/lib/commands/page/react/list.js +1 -1
- package/lib/commands/page/react/publish.js +1 -1
- package/lib/commands/page/react/shared.js +1 -1
- package/lib/commands/page/react/syntax.js +1 -1
- package/lib/commands/page/react/template.js +1 -1
- package/lib/commands/page/react/update.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/standard-page-status.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/permit/index.js +1 -1
- package/lib/commands/permit/page-get.js +1 -1
- package/lib/commands/permit/page-set.js +1 -1
- package/lib/commands/permit/role-apis-set.js +1 -1
- package/lib/commands/permit/role-menus-set.js +1 -1
- package/lib/commands/permit/role-menus.js +1 -1
- package/lib/commands/permit/shared.js +1 -1
- package/lib/commands/project/create/enhanced-guided-create.js +1 -1
- package/lib/commands/project/create/format-elapsed.js +1 -1
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/non-interactive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/create.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/role/user-resolve.js +1 -1
- package/lib/commands/run/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/sql/create.js +1 -1
- package/lib/commands/sql/delete.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/sql/list.js +1 -1
- package/lib/commands/sql/pull.js +1 -1
- package/lib/commands/sql/push.js +1 -1
- package/lib/commands/sql/shared.js +1 -1
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/commands/task/index.js +1 -1
- package/lib/commands/task/status.js +1 -1
- package/lib/commands/tenant/index.js +1 -1
- package/lib/commands/tenant/members-list.js +1 -1
- package/lib/commands/tenant/shared.js +1 -1
- package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
- package/lib/commands/user-account/index.js +1 -1
- package/lib/commands/workspace/add.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/commands/workspace/remove.js +1 -1
- package/lib/config/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/risk.js +1 -1
- package/lib/context/app-resolver.js +1 -1
- package/lib/context/auth-resolver.js +1 -1
- package/lib/context/config-loader.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/page/file-system.js +1 -1
- package/lib/core/page/hash.js +1 -1
- package/lib/core/page/lock.js +1 -1
- package/lib/core/sql-index-auditor.js +1 -1
- package/lib/core/sql-sync/config.js +1 -1
- package/lib/core/sql-sync/file-system.js +1 -1
- package/lib/core/sql-sync/hash.js +1 -1
- package/lib/core/sql-sync/lock.js +1 -1
- package/lib/core/sql-sync/utils.js +1 -1
- package/lib/core/sql-validator.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/error-output.js +1 -1
- package/lib/framework/explicit-yes.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-alias.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/postinstall.js +1 -1
- package/lib/runtime/confirmation.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/skills/builtin-skill.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/skill-presence.js +1 -1
- package/lib/telemetry/cli-command-trace.js +1 -1
- package/lib/telemetry/cli-help-trace.js +1 -1
- package/lib/telemetry/ensure-cli-otel-config.js +1 -1
- package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
- package/lib/telemetry/send-cli-trace-log.js +1 -1
- package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
- package/lib/utils/ai_config.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cdn-config.js +1 -1
- package/lib/utils/check-sdk-version.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/config.js +1 -1
- package/lib/utils/copy-directory.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/rules-cdn.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
- package/skills/rabetbase/SKILL.md +1 -1
- package/skills/rabetbase/references/rabetbase-page-react-detail.md +1 -1
- package/skills/rabetbase.manifest.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
function a104_0x3ac7(){const _0x9cd5ea=['kb_id_invalid','\x20is\x20not\x20company-scoped.','message','\x20while\x20page\x20','\x20records.','kb_list_contract_invalid','\x20request\x20was\x20sent,\x20but\x20its\x20final\x20company\x20knowledge-base\x20state\x20could\x20not\x20be\x20verified.','utf8','Run\x20`rabetbase\x20kb\x20list\x20--format\x20compress`\x20to\x20inspect\x20the\x20resolved\x20app.','from','9259821okIfsP','string','9884922tvaDgN','cookie','\x20while\x20id\x20','createTime','push','Knowledge-base\x20get-one\x20returned\x20id\x20','Knowledge\x20base\x20','bool','Knowledge-base\x20list\x20returned\x20page\x20','\x20response\x20contains\x20an\x20invalid\x20version.','number','kb_response_invalid','updateTime','byteSize','Knowledge-base\x20content\x20path\x20is\x20not\x20a\x20regular\x20file:\x20','length','items','282865bFkHpo','Do\x20not\x20resubmit\x20automatically.\x20Resolve\x20the\x20app\x20again\x20and\x20inspect\x20the\x20target\x20state\x20manually.','currentPage','appCode','content','Knowledge-base\x20content\x20file\x20is\x20blank:\x20','7jwZQYK','kb_confirmation_required','kb_file_unreadable','yes','isFile','12BKsBLD','update','filter','sha256','hex','Knowledge-base\x20list\x20stopped\x20at\x20','kb_file_required','version','company','Knowledge-base\x20list\x20total\x20changed\x20from\x20','scope','\x20response\x20is\x20missing\x20','Run\x20the\x20same\x20command\x20with\x20--dry-run\x20first,\x20then\x20add\x20--yes\x20after\x20reviewing\x20the\x20plan.','964520BbCDtt','isSafeInteger','outcome_unknown','Cannot\x20access\x20knowledge-base\x20content\x20file:\x20','verification_unavailable','14521190NFfKNn','stringify','kb_scope_mismatch','num','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20version\x20before\x20retrying.',',\x20current\x20','kb_content_invalid','add','sha256:','5173059aQBjml','8vqqMlY','9180226mOYAaX','contentHash','kb_state_drift','Company\x20knowledge\x20base\x20not\x20found:\x20','title','Knowledge-base\x20content\x20file\x20is\x20not\x20valid\x20UTF-8:\x20','2XbDLuC','kb_','\x20was\x20requested.','paging','cause','306','dry-run','Knowledge-base\x20content\x20file\x20path\x20is\x20required.','trim','Cannot\x20read\x20knowledge-base\x20content\x20file:\x20','Knowledge-base\x20list\x20returned\x20an\x20invalid\x20or\x20repeated\x20id:\x20','--id\x20must\x20be\x20a\x20positive\x20safe\x20integer.','\x20does\x20not\x20belong\x20to\x20company\x20scope\x20for\x20app\x20','kb_not_found'];a104_0x3ac7=function(){return _0x9cd5ea;};return a104_0x3ac7();}const a104_0x161617=a104_0x13ab;(function(_0x35fd48,_0x2aac53){const _0x40f70d=a104_0x13ab,_0x5f3a52=_0x35fd48();while(!![]){try{const _0x28c799=-parseInt(_0x40f70d(0xb6))/0x1+-parseInt(_0x40f70d(0xcc))/0x2*(-parseInt(_0x40f70d(0xc4))/0x3)+-parseInt(_0x40f70d(0xa9))/0x4*(-parseInt(_0x40f70d(0x9e))/0x5)+-parseInt(_0x40f70d(0x8d))/0x6*(-parseInt(_0x40f70d(0xa4))/0x7)+-parseInt(_0x40f70d(0xc5))/0x8*(parseInt(_0x40f70d(0x8b))/0x9)+-parseInt(_0x40f70d(0xbb))/0xa+parseInt(_0x40f70d(0xc6))/0xb;if(_0x28c799===_0x2aac53)break;else _0x5f3a52['push'](_0x5f3a52['shift']());}catch(_0xc2fdae){_0x5f3a52['push'](_0x5f3a52['shift']());}}}(a104_0x3ac7,0xe3339));import{createHash}from'node:crypto';function a104_0x13ab(_0x389d09,_0x16f222){_0x389d09=_0x389d09-0x7e;const _0x3ac774=a104_0x3ac7();let _0x13ab8a=_0x3ac774[_0x389d09];return _0x13ab8a;}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=a104_0x161617(0xd1);export function kbError(_0x3ca57d,_0x1c4192,_0x558075){return new CliError(_0x3ca57d,0x1,_0x1c4192,_0x558075);}export function readKbId(_0x264c39){const _0x386e43=a104_0x161617,_0x4f436a=_0x264c39[_0x386e43(0xbe)]('id');if(!Number['isSafeInteger'](_0x4f436a)||_0x4f436a<=0x0)throw kbError(_0x386e43(0x81),_0x386e43(0x7e));return _0x4f436a;}export function requireKbExplicitYes(_0x2be4b0){const _0x4d7a35=a104_0x161617;if(_0x2be4b0['bool'](_0x4d7a35(0xd2))||_0x2be4b0[_0x4d7a35(0x94)](_0x4d7a35(0xa7)))return;throw kbError(_0x4d7a35(0xa5),'This\x20company\x20knowledge-base\x20mutation\x20requires\x20explicit\x20--yes.',_0x4d7a35(0xb5));}function sha256(_0x315ff5){const _0x301c04=a104_0x161617;return _0x301c04(0xc3)+createHash(_0x301c04(0xac))[_0x301c04(0xaa)](_0x315ff5)['digest'](_0x301c04(0xad));}export function inspectKbContent(_0x2ce17a){const _0x29a794=a104_0x161617,_0x39d939=Buffer[_0x29a794(0x8a)](_0x2ce17a,_0x29a794(0x88));return{'content':_0x2ce17a,'byteSize':_0x39d939['byteLength'],'contentHash':sha256(_0x39d939)};}export async function readKbFile(_0x5e6d99){const _0x4b2480=a104_0x161617,_0x33ae6b=_0x5e6d99[_0x4b2480(0xd4)]();if(!_0x33ae6b)throw kbError(_0x4b2480(0xaf),_0x4b2480(0xd3),'Pass\x20--file\x20<knowledge.md>.');const _0x49ec94=resolve(_0x33ae6b);let _0x241c92;try{_0x241c92=await stat(_0x49ec94);}catch(_0x1ed622){throw kbError('kb_file_unreadable',_0x4b2480(0xb9)+_0x33ae6b,_0x1ed622 instanceof Error?_0x1ed622[_0x4b2480(0x83)]:String(_0x1ed622));}if(!_0x241c92[_0x4b2480(0xa8)]())throw kbError('kb_file_invalid',_0x4b2480(0x9b)+_0x33ae6b);let _0x378a17;try{_0x378a17=await readFile(_0x49ec94);}catch(_0x3c2bec){throw kbError(_0x4b2480(0xa6),_0x4b2480(0xd5)+_0x33ae6b,_0x3c2bec instanceof Error?_0x3c2bec['message']:String(_0x3c2bec));}let _0xaba57e;try{_0xaba57e=new TextDecoder('utf-8',{'fatal':!![],'ignoreBOM':!![]})['decode'](_0x378a17);}catch{throw kbError(_0x4b2480(0xc1),_0x4b2480(0xcb)+_0x33ae6b);}if(!_0xaba57e[_0x4b2480(0xd4)]())throw kbError(_0x4b2480(0xc1),_0x4b2480(0xa3)+_0x33ae6b);return inspectKbContent(_0xaba57e);}export async function verifyKbMutationReadback(_0x52a9df,_0x22d99e,_0x5e9b69){const _0x15bef2=a104_0x161617;try{return await _0x5e9b69();}catch(_0x601611){const _0x1a6289=kbError(_0x15bef2(0xcd)+_0x52a9df+'_'+(_0x22d99e?_0x15bef2(0xb8):_0x15bef2(0xba)),'The\x20'+_0x52a9df+_0x15bef2(0x87),_0x15bef2(0x9f));Object['defineProperty'](_0x1a6289,_0x15bef2(0xd0),{'value':_0x601611,'enumerable':![]});throw _0x1a6289;}}function requireRecordText(_0x47acd2,_0x167e4b,_0x512273,_0x4e02ea={}){const _0x53740b=a104_0x161617;if(typeof _0x47acd2==='string'&&(_0x4e02ea['allowEmpty']||_0x47acd2['trim']()))return _0x47acd2;throw kbError('kb_response_invalid',_0x53740b(0x93)+String(_0x512273)+_0x53740b(0xb4)+_0x167e4b+'.');}export function projectKb(_0x13b2b8){const _0x375bb4=a104_0x161617;if(!Number[_0x375bb4(0xb7)](_0x13b2b8['id'])||_0x13b2b8['id']<=0x0)throw kbError(_0x375bb4(0x98),'Knowledge-base\x20response\x20contains\x20an\x20invalid\x20id.');if(!Number[_0x375bb4(0xb7)](_0x13b2b8[_0x375bb4(0xb0)])||_0x13b2b8[_0x375bb4(0xb0)]<0x0)throw kbError(_0x375bb4(0x98),_0x375bb4(0x93)+_0x13b2b8['id']+_0x375bb4(0x96));if(_0x13b2b8['scope']!=='company')throw kbError(_0x375bb4(0xbd),_0x375bb4(0x93)+_0x13b2b8['id']+_0x375bb4(0x82));const _0x51422f=requireRecordText(_0x13b2b8[_0x375bb4(0xa1)],_0x375bb4(0xa1),_0x13b2b8['id']),_0x117c13=requireRecordText(_0x13b2b8[_0x375bb4(0xca)],_0x375bb4(0xca),_0x13b2b8['id']),_0x2ff4cd=inspectKbContent(requireRecordText(_0x13b2b8['content'],_0x375bb4(0xa2),_0x13b2b8['id'],{'allowEmpty':!![]})),_0x20a730=typeof _0x13b2b8['createTime']===_0x375bb4(0x8c)||typeof _0x13b2b8[_0x375bb4(0x90)]===_0x375bb4(0x97)?_0x13b2b8[_0x375bb4(0x90)]:undefined,_0x137cab=typeof _0x13b2b8[_0x375bb4(0x99)]==='string'||typeof _0x13b2b8[_0x375bb4(0x99)]===_0x375bb4(0x97)?_0x13b2b8[_0x375bb4(0x99)]:undefined,_0x2083e4=sha256(JSON[_0x375bb4(0xbc)]({'id':_0x13b2b8['id'],'scope':_0x13b2b8[_0x375bb4(0xb3)],'appCode':_0x51422f,'title':_0x117c13,'version':_0x13b2b8[_0x375bb4(0xb0)],'contentHash':_0x2ff4cd[_0x375bb4(0xc7)],'createTime':_0x20a730,'updateTime':_0x137cab}));return{'id':_0x13b2b8['id'],'scope':_0x375bb4(0xb1),'appCode':_0x51422f,'title':_0x117c13,'version':_0x13b2b8[_0x375bb4(0xb0)],'contentByteSize':_0x2ff4cd[_0x375bb4(0x9a)],'contentHash':_0x2ff4cd[_0x375bb4(0xc7)],'snapshotHash':_0x2083e4,..._0x20a730!==undefined?{'createTime':_0x20a730}:{},..._0x137cab!==undefined?{'updateTime':_0x137cab}:{}};}export function assertCompanyKnowledgeBase(_0x1be85f,_0x38eb35,_0x5567c0){const _0x12e5c0=a104_0x161617;if(_0x5567c0!==undefined&&_0x1be85f['id']!==_0x5567c0)throw kbError(_0x12e5c0(0x98),_0x12e5c0(0x92)+_0x1be85f['id']+_0x12e5c0(0x8f)+_0x5567c0+'\x20was\x20requested.');if(_0x1be85f[_0x12e5c0(0xb3)]!==_0x12e5c0(0xb1)||_0x1be85f[_0x12e5c0(0xa1)]!==_0x38eb35)throw kbError(_0x12e5c0(0xbd),_0x12e5c0(0x93)+_0x1be85f['id']+_0x12e5c0(0x7f)+_0x38eb35+'.');}export async function fetchAllCompanyKnowledgeBases(_0xd6ae4b,_0xd93c24){const _0x33f327=a104_0x161617,_0x1618bc=[],_0x361bd5=new Set();let _0x5a7042=0x1,_0x44b88a=0x0,_0x19dc6f;while(!![]){const _0x4101fd=await listEnterpriseKnowledgeBases(_0xd6ae4b[_0x33f327(0x8e)],{'currentPage':_0x5a7042,'pageSize':LIST_PAGE_SIZE,'appCode':_0xd6ae4b[_0x33f327(0xa1)],..._0xd93c24}),_0x5335a4=_0x4101fd[_0x33f327(0xcf)]?.['totalCount'];if(_0x4101fd[_0x33f327(0xcf)]?.[_0x33f327(0xa0)]!==undefined&&_0x4101fd[_0x33f327(0xcf)][_0x33f327(0xa0)]!==_0x5a7042)throw kbError(_0x33f327(0x86),_0x33f327(0x95)+_0x4101fd[_0x33f327(0xcf)]['currentPage']+_0x33f327(0x84)+_0x5a7042+_0x33f327(0xce));if(_0x5335a4!==undefined){if(_0x19dc6f!==undefined&&_0x5335a4!==_0x19dc6f)throw kbError(_0x33f327(0x86),_0x33f327(0xb2)+_0x19dc6f+'\x20to\x20'+_0x5335a4+'\x20during\x20paging.','Retry\x20the\x20read\x20after\x20concurrent\x20updates\x20have\x20settled.');_0x19dc6f=_0x5335a4;}for(const _0x2489ec of _0x4101fd[_0x33f327(0x9d)]){if(!Number[_0x33f327(0xb7)](_0x2489ec['id'])||_0x361bd5['has'](_0x2489ec['id']))throw kbError('kb_list_contract_invalid',_0x33f327(0xd6)+String(_0x2489ec['id'])+'.');_0x361bd5[_0x33f327(0xc2)](_0x2489ec['id']),_0x2489ec[_0x33f327(0xb3)]==='company'&&_0x2489ec[_0x33f327(0xa1)]===_0xd6ae4b[_0x33f327(0xa1)]&&_0x1618bc[_0x33f327(0x91)](_0x2489ec);}_0x44b88a+=_0x4101fd[_0x33f327(0x9d)][_0x33f327(0x9c)];if(_0x5335a4!==undefined&&_0x44b88a>=_0x5335a4)break;if(_0x4101fd[_0x33f327(0x9d)]['length']<LIST_PAGE_SIZE){if(_0x5335a4!==undefined&&_0x44b88a<_0x5335a4)throw kbError(_0x33f327(0x86),_0x33f327(0xae)+_0x44b88a+'\x20of\x20'+_0x5335a4+_0x33f327(0x85));break;}_0x5a7042+=0x1;}return _0x1618bc;}export function findExactCompanyKnowledgeBases(_0x37d0f2,_0x47a0b1,_0x5737c1){const _0x46d5b9=a104_0x161617;return _0x37d0f2[_0x46d5b9(0xab)](_0x2b96ac=>_0x2b96ac[_0x46d5b9(0xb3)]==='company'&&_0x2b96ac['appCode']===_0x47a0b1&&_0x2b96ac[_0x46d5b9(0xca)]===_0x5737c1);}export async function getKbOrNull(_0x2bb400,_0x1caca0){try{const _0x52503e=await getEnterpriseKnowledgeBase(_0x2bb400['cookie'],_0x1caca0);return assertCompanyKnowledgeBase(_0x52503e,_0x2bb400['appCode'],_0x1caca0),_0x52503e;}catch(_0x330521){if(getPlatformErrorCode(_0x330521)===DATA_NOT_EXIST_ERROR_CODE)return null;throw _0x330521;}}export async function requireKb(_0x5503d6,_0x38b47e){const _0x5d521f=a104_0x161617,_0x13acda=await getKbOrNull(_0x5503d6,_0x38b47e);if(!_0x13acda)throw kbError(_0x5d521f(0x80),_0x5d521f(0xc9)+_0x38b47e,_0x5d521f(0x89));return _0x13acda;}export function assertExpectedKbVersion(_0x528596,_0x288814){const _0x453dbb=a104_0x161617;if(_0x288814===undefined||_0x528596[_0x453dbb(0xb0)]===_0x288814)return;throw kbError(_0x453dbb(0xc8),'Knowledge\x20base\x20'+_0x528596['id']+'\x20version\x20changed:\x20expected\x20'+_0x288814+_0x453dbb(0xc0)+_0x528596[_0x453dbb(0xb0)]+'.',_0x453dbb(0xbf));}
|
|
1
|
+
(function(_0x37a4e3,_0x158362){const _0x4bde8e=a104_0x38c1,_0x216974=_0x37a4e3();while(!![]){try{const _0x18e32b=parseInt(_0x4bde8e(0x162))/0x1+-parseInt(_0x4bde8e(0x150))/0x2+parseInt(_0x4bde8e(0x146))/0x3+-parseInt(_0x4bde8e(0x13a))/0x4*(parseInt(_0x4bde8e(0x186))/0x5)+-parseInt(_0x4bde8e(0x138))/0x6+-parseInt(_0x4bde8e(0x17a))/0x7*(-parseInt(_0x4bde8e(0x171))/0x8)+parseInt(_0x4bde8e(0x182))/0x9*(parseInt(_0x4bde8e(0x16f))/0xa);if(_0x18e32b===_0x158362)break;else _0x216974['push'](_0x216974['shift']());}catch(_0x169685){_0x216974['push'](_0x216974['shift']());}}}(a104_0x7e55,0x68892));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='306';export function kbError(_0x2d811f,_0x526e83,_0x5975d7){return new CliError(_0x2d811f,0x1,_0x526e83,_0x5975d7);}export function readKbId(_0xbca12b){const _0x2a9571=a104_0x38c1,_0x1408a8=_0xbca12b[_0x2a9571(0x17e)]('id');if(!Number[_0x2a9571(0x174)](_0x1408a8)||_0x1408a8<=0x0)throw kbError(_0x2a9571(0x16e),_0x2a9571(0x160));return _0x1408a8;}export function requireKbExplicitYes(_0x454fe8){const _0x3faad3=a104_0x38c1;if(_0x454fe8['bool']('dry-run')||_0x454fe8[_0x3faad3(0x15f)](_0x3faad3(0x14b)))return;throw kbError(_0x3faad3(0x141),_0x3faad3(0x14f),'Run\x20the\x20same\x20command\x20with\x20--dry-run\x20first,\x20then\x20add\x20--yes\x20after\x20reviewing\x20the\x20plan.');}function sha256(_0x3c8c70){const _0x2982e5=a104_0x38c1;return _0x2982e5(0x16a)+createHash(_0x2982e5(0x172))['update'](_0x3c8c70)['digest']('hex');}function a104_0x7e55(){const _0x318fbb=['createTime','isSafeInteger','utf-8','isFile','kb_list_contract_invalid','verification_unavailable','kb_file_invalid','903SMJEPn','Do\x20not\x20resubmit\x20automatically.\x20Resolve\x20the\x20app\x20again\x20and\x20inspect\x20the\x20target\x20state\x20manually.','Knowledge-base\x20get-one\x20returned\x20id\x20','byteLength','num','Knowledge-base\x20list\x20returned\x20an\x20invalid\x20or\x20repeated\x20id:\x20','paging','allowEmpty','5504085vAiQVH','appCode','\x20request\x20was\x20sent,\x20but\x20its\x20final\x20company\x20knowledge-base\x20state\x20could\x20not\x20be\x20verified.','\x20while\x20id\x20','145285cgTsuk','Knowledge-base\x20content\x20path\x20is\x20not\x20a\x20regular\x20file:\x20','Retry\x20the\x20read\x20after\x20concurrent\x20updates\x20have\x20settled.','outcome_unknown','Knowledge\x20base\x20','3384918JgfDTa','add','68gIvrTR','kb_response_invalid','currentPage','string','cause','The\x20',',\x20current\x20','kb_confirmation_required','kb_not_found','items','content','message','182091sVCoup','defineProperty','cookie','kb_scope_mismatch','scope','yes','decode','\x20response\x20contains\x20an\x20invalid\x20version.','version','This\x20company\x20knowledge-base\x20mutation\x20requires\x20explicit\x20--yes.','757542naFWXY','kb_state_drift','\x20to\x20','stringify','Run\x20`rabetbase\x20kb\x20list\x20--format\x20compress`\x20to\x20inspect\x20the\x20resolved\x20app.','title','company','kb_content_invalid','Pass\x20--file\x20<knowledge.md>.','Knowledge-base\x20list\x20total\x20changed\x20from\x20','trim','kb_file_unreadable','\x20is\x20not\x20company-scoped.','\x20version\x20changed:\x20expected\x20','\x20response\x20is\x20missing\x20','bool','--id\x20must\x20be\x20a\x20positive\x20safe\x20integer.','\x20while\x20page\x20','102783uUiWyo','utf8','\x20was\x20requested.','Knowledge-base\x20content\x20file\x20is\x20not\x20valid\x20UTF-8:\x20','kb_file_required','contentHash','byteSize','Knowledge-base\x20response\x20contains\x20an\x20invalid\x20id.','sha256:','kb_','updateTime','\x20does\x20not\x20belong\x20to\x20company\x20scope\x20for\x20app\x20','kb_id_invalid','20UTCaXb','\x20during\x20paging.','29672sbvJzQ','sha256'];a104_0x7e55=function(){return _0x318fbb;};return a104_0x7e55();}export function inspectKbContent(_0x1252a7){const _0x362adc=a104_0x38c1,_0x1c7fed=Buffer['from'](_0x1252a7,_0x362adc(0x163));return{'content':_0x1252a7,'byteSize':_0x1c7fed[_0x362adc(0x17d)],'contentHash':sha256(_0x1c7fed)};}export async function readKbFile(_0x2b4fb0){const _0x1b1768=a104_0x38c1,_0x53fac3=_0x2b4fb0['trim']();if(!_0x53fac3)throw kbError(_0x1b1768(0x166),'Knowledge-base\x20content\x20file\x20path\x20is\x20required.',_0x1b1768(0x158));const _0x12ba85=resolve(_0x53fac3);let _0x2e27d4;try{_0x2e27d4=await stat(_0x12ba85);}catch(_0xe48299){throw kbError('kb_file_unreadable','Cannot\x20access\x20knowledge-base\x20content\x20file:\x20'+_0x53fac3,_0xe48299 instanceof Error?_0xe48299[_0x1b1768(0x145)]:String(_0xe48299));}if(!_0x2e27d4[_0x1b1768(0x176)]())throw kbError(_0x1b1768(0x179),_0x1b1768(0x187)+_0x53fac3);let _0x21d84e;try{_0x21d84e=await readFile(_0x12ba85);}catch(_0x14f18d){throw kbError(_0x1b1768(0x15b),'Cannot\x20read\x20knowledge-base\x20content\x20file:\x20'+_0x53fac3,_0x14f18d instanceof Error?_0x14f18d['message']:String(_0x14f18d));}let _0x3b43c2;try{_0x3b43c2=new TextDecoder(_0x1b1768(0x175),{'fatal':!![],'ignoreBOM':!![]})[_0x1b1768(0x14c)](_0x21d84e);}catch{throw kbError(_0x1b1768(0x157),_0x1b1768(0x165)+_0x53fac3);}if(!_0x3b43c2[_0x1b1768(0x15a)]())throw kbError(_0x1b1768(0x157),'Knowledge-base\x20content\x20file\x20is\x20blank:\x20'+_0x53fac3);return inspectKbContent(_0x3b43c2);}export async function verifyKbMutationReadback(_0x1fd6a6,_0x26c881,_0x4e5c91){const _0xccc288=a104_0x38c1;try{return await _0x4e5c91();}catch(_0x39f069){const _0x18c278=kbError(_0xccc288(0x16b)+_0x1fd6a6+'_'+(_0x26c881?_0xccc288(0x189):_0xccc288(0x178)),_0xccc288(0x13f)+_0x1fd6a6+_0xccc288(0x184),_0xccc288(0x17b));Object[_0xccc288(0x147)](_0x18c278,_0xccc288(0x13e),{'value':_0x39f069,'enumerable':![]});throw _0x18c278;}}function requireRecordText(_0x4d9783,_0x425ac2,_0x214ed1,_0x1ed7ae={}){const _0x3a24c4=a104_0x38c1;if(typeof _0x4d9783===_0x3a24c4(0x13d)&&(_0x1ed7ae[_0x3a24c4(0x181)]||_0x4d9783[_0x3a24c4(0x15a)]()))return _0x4d9783;throw kbError(_0x3a24c4(0x13b),_0x3a24c4(0x137)+String(_0x214ed1)+_0x3a24c4(0x15e)+_0x425ac2+'.');}export function projectKb(_0x213e38){const _0xf5f2d0=a104_0x38c1;if(!Number[_0xf5f2d0(0x174)](_0x213e38['id'])||_0x213e38['id']<=0x0)throw kbError(_0xf5f2d0(0x13b),_0xf5f2d0(0x169));if(!Number[_0xf5f2d0(0x174)](_0x213e38[_0xf5f2d0(0x14e)])||_0x213e38['version']<0x0)throw kbError(_0xf5f2d0(0x13b),_0xf5f2d0(0x137)+_0x213e38['id']+_0xf5f2d0(0x14d));if(_0x213e38[_0xf5f2d0(0x14a)]!==_0xf5f2d0(0x156))throw kbError(_0xf5f2d0(0x149),'Knowledge\x20base\x20'+_0x213e38['id']+_0xf5f2d0(0x15c));const _0x314ab0=requireRecordText(_0x213e38[_0xf5f2d0(0x183)],_0xf5f2d0(0x183),_0x213e38['id']),_0x371f17=requireRecordText(_0x213e38[_0xf5f2d0(0x155)],_0xf5f2d0(0x155),_0x213e38['id']),_0x3dcfc6=inspectKbContent(requireRecordText(_0x213e38[_0xf5f2d0(0x144)],_0xf5f2d0(0x144),_0x213e38['id'],{'allowEmpty':!![]})),_0x3a781f=typeof _0x213e38[_0xf5f2d0(0x173)]===_0xf5f2d0(0x13d)||typeof _0x213e38[_0xf5f2d0(0x173)]==='number'?_0x213e38[_0xf5f2d0(0x173)]:undefined,_0x5ddc87=typeof _0x213e38['updateTime']===_0xf5f2d0(0x13d)||typeof _0x213e38['updateTime']==='number'?_0x213e38[_0xf5f2d0(0x16c)]:undefined,_0x5095e1=sha256(JSON[_0xf5f2d0(0x153)]({'id':_0x213e38['id'],'scope':_0x213e38[_0xf5f2d0(0x14a)],'appCode':_0x314ab0,'title':_0x371f17,'version':_0x213e38[_0xf5f2d0(0x14e)],'contentHash':_0x3dcfc6[_0xf5f2d0(0x167)],'createTime':_0x3a781f,'updateTime':_0x5ddc87}));return{'id':_0x213e38['id'],'scope':_0xf5f2d0(0x156),'appCode':_0x314ab0,'title':_0x371f17,'version':_0x213e38[_0xf5f2d0(0x14e)],'contentByteSize':_0x3dcfc6[_0xf5f2d0(0x168)],'contentHash':_0x3dcfc6[_0xf5f2d0(0x167)],'snapshotHash':_0x5095e1,..._0x3a781f!==undefined?{'createTime':_0x3a781f}:{},..._0x5ddc87!==undefined?{'updateTime':_0x5ddc87}:{}};}export function assertCompanyKnowledgeBase(_0x5e69ee,_0x5efd76,_0x2c37b6){const _0x147d30=a104_0x38c1;if(_0x2c37b6!==undefined&&_0x5e69ee['id']!==_0x2c37b6)throw kbError(_0x147d30(0x13b),_0x147d30(0x17c)+_0x5e69ee['id']+_0x147d30(0x185)+_0x2c37b6+'\x20was\x20requested.');if(_0x5e69ee[_0x147d30(0x14a)]!=='company'||_0x5e69ee[_0x147d30(0x183)]!==_0x5efd76)throw kbError('kb_scope_mismatch',_0x147d30(0x137)+_0x5e69ee['id']+_0x147d30(0x16d)+_0x5efd76+'.');}function a104_0x38c1(_0x550b26,_0x3334a8){_0x550b26=_0x550b26-0x137;const _0x7e554f=a104_0x7e55();let _0x38c18c=_0x7e554f[_0x550b26];return _0x38c18c;}export async function fetchAllCompanyKnowledgeBases(_0x4ea1fb,_0x4d3192){const _0x3b88cb=a104_0x38c1,_0x4a15b7=[],_0x407fef=new Set();let _0xc1f884=0x1,_0x1e2d57=0x0,_0x9c94dd;while(!![]){const _0x2de126=await listEnterpriseKnowledgeBases(_0x4ea1fb['cookie'],{'currentPage':_0xc1f884,'pageSize':LIST_PAGE_SIZE,'appCode':_0x4ea1fb['appCode'],..._0x4d3192}),_0xdee7ee=_0x2de126[_0x3b88cb(0x180)]?.['totalCount'];if(_0x2de126[_0x3b88cb(0x180)]?.['currentPage']!==undefined&&_0x2de126[_0x3b88cb(0x180)][_0x3b88cb(0x13c)]!==_0xc1f884)throw kbError(_0x3b88cb(0x177),'Knowledge-base\x20list\x20returned\x20page\x20'+_0x2de126[_0x3b88cb(0x180)][_0x3b88cb(0x13c)]+_0x3b88cb(0x161)+_0xc1f884+_0x3b88cb(0x164));if(_0xdee7ee!==undefined){if(_0x9c94dd!==undefined&&_0xdee7ee!==_0x9c94dd)throw kbError(_0x3b88cb(0x177),_0x3b88cb(0x159)+_0x9c94dd+_0x3b88cb(0x152)+_0xdee7ee+_0x3b88cb(0x170),_0x3b88cb(0x188));_0x9c94dd=_0xdee7ee;}for(const _0x51e6ea of _0x2de126[_0x3b88cb(0x143)]){if(!Number[_0x3b88cb(0x174)](_0x51e6ea['id'])||_0x407fef['has'](_0x51e6ea['id']))throw kbError(_0x3b88cb(0x177),_0x3b88cb(0x17f)+String(_0x51e6ea['id'])+'.');_0x407fef[_0x3b88cb(0x139)](_0x51e6ea['id']),_0x51e6ea[_0x3b88cb(0x14a)]===_0x3b88cb(0x156)&&_0x51e6ea[_0x3b88cb(0x183)]===_0x4ea1fb[_0x3b88cb(0x183)]&&_0x4a15b7['push'](_0x51e6ea);}_0x1e2d57+=_0x2de126[_0x3b88cb(0x143)]['length'];if(_0xdee7ee!==undefined&&_0x1e2d57>=_0xdee7ee)break;if(_0x2de126[_0x3b88cb(0x143)]['length']<LIST_PAGE_SIZE){if(_0xdee7ee!==undefined&&_0x1e2d57<_0xdee7ee)throw kbError(_0x3b88cb(0x177),'Knowledge-base\x20list\x20stopped\x20at\x20'+_0x1e2d57+'\x20of\x20'+_0xdee7ee+'\x20records.');break;}_0xc1f884+=0x1;}return _0x4a15b7;}export function findExactCompanyKnowledgeBases(_0xee78d9,_0x12996a,_0x43dd07){const _0x104b1c=a104_0x38c1;return _0xee78d9['filter'](_0x14c74d=>_0x14c74d[_0x104b1c(0x14a)]===_0x104b1c(0x156)&&_0x14c74d[_0x104b1c(0x183)]===_0x12996a&&_0x14c74d[_0x104b1c(0x155)]===_0x43dd07);}export async function getKbOrNull(_0x269203,_0x3abd36){const _0x37a72d=a104_0x38c1;try{const _0x6ed600=await getEnterpriseKnowledgeBase(_0x269203[_0x37a72d(0x148)],_0x3abd36);return assertCompanyKnowledgeBase(_0x6ed600,_0x269203[_0x37a72d(0x183)],_0x3abd36),_0x6ed600;}catch(_0x4a9957){if(getPlatformErrorCode(_0x4a9957)===DATA_NOT_EXIST_ERROR_CODE)return null;throw _0x4a9957;}}export async function requireKb(_0x20d34a,_0x3ceb09){const _0x6b751e=a104_0x38c1,_0x470421=await getKbOrNull(_0x20d34a,_0x3ceb09);if(!_0x470421)throw kbError(_0x6b751e(0x142),'Company\x20knowledge\x20base\x20not\x20found:\x20'+_0x3ceb09,_0x6b751e(0x154));return _0x470421;}export function assertExpectedKbVersion(_0x169397,_0x22889f){const _0x32592a=a104_0x38c1;if(_0x22889f===undefined||_0x169397[_0x32592a(0x14e)]===_0x22889f)return;throw kbError(_0x32592a(0x151),'Knowledge\x20base\x20'+_0x169397['id']+_0x32592a(0x15d)+_0x22889f+_0x32592a(0x140)+_0x169397[_0x32592a(0x14e)]+'.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20version\x20before\x20retrying.');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a105_0x2739(){const _0x2021e2=['kb_title_invalid','appCode','\x20--format\x20compress','flag','cookie','110369IxZQFj','kb_expected_version_invalid','Company\x20knowledge-base\x20id','content','--title\x20cannot\x20be\x20empty.','296VVIgnI','string','before','update','contentHash','--file\x20cannot\x20be\x20empty.','expected-version','POST','Replacement\x20UTF-8\x20text\x20or\x20Markdown\x20content\x20file','--expected-version\x20must\x20be\x20a\x20non-negative\x20safe\x20integer.','replacement','beforeRecord','2271368oFxwmz','verified','company','Pass\x20at\x20least\x20one\x20of\x20--title\x20or\x20--file.','rabetbase\x20kb\x20detail\x20--id\x20','isSafeInteger','Non-atomic\x20preflight\x20assertion\x20for\x20the\x20current\x20version','2863810AWEJiv','high-risk-write','title','8305pvaapG','file','New\x20knowledge-base\x20title','kb_update_outcome_unknown','version','patch','/admin/knowledge-base/update','push','Update\x20a\x20company\x20knowledge\x20base\x20with\x20preflight\x20drift\x20protection','kb_update_empty','354ZrdLfp','Nothing\x20to\x20update.','\x20does\x20not\x20prove\x20the\x20requested\x20update\x20state.','expectedVersion','Inspect\x20it\x20with\x20`rabetbase\x20kb\x20detail\x20--id\x20','kb_verification_failed','3841431IbKKVj','Updated\x20company\x20knowledge\x20base\x20','--expected-version\x20is\x20a\x20non-atomic\x20read-before-write\x20assertion;\x20the\x20server\x20update\x20contract\x20has\x20no\x20version\x20predicate.','trim','27hpRPQe','number','1105627pZXfJL','\x20--format\x20compress`;\x20do\x20not\x20resubmit\x20automatically.','4894088IRDCTz'];a105_0x2739=function(){return _0x2021e2;};return a105_0x2739();}const a105_0x56403f=a105_0x4776;(function(_0x24752d,_0xadc0c3){const _0x31bb12=a105_0x4776,_0x4ee89f=_0x24752d();while(!![]){try{const _0x2274c0=parseInt(_0x31bb12(0x12e))/0x1+parseInt(_0x31bb12(0x147))/0x2+-parseInt(_0x31bb12(0x128))/0x3+parseInt(_0x31bb12(0x130))/0x4+-parseInt(_0x31bb12(0x151))/0x5*(-parseInt(_0x31bb12(0x122))/0x6)+-parseInt(_0x31bb12(0x136))/0x7*(parseInt(_0x31bb12(0x13b))/0x8)+-parseInt(_0x31bb12(0x12c))/0x9*(parseInt(_0x31bb12(0x14e))/0xa);if(_0x2274c0===_0xadc0c3)break;else _0x4ee89f['push'](_0x4ee89f['shift']());}catch(_0x4b2fab){_0x4ee89f['push'](_0x4ee89f['shift']());}}}(a105_0x2739,0xcd099));import{isPlatformTransportFailure,updateEnterpriseKnowledgeBase}from'../../core/api-client.js';import{asDryRunResult}from'../../commands/common/dry-run.js';function a105_0x4776(_0x2cf8a1,_0x3b2f52){_0x2cf8a1=_0x2cf8a1-0x11e;const _0x2739c0=a105_0x2739();let _0x4776ae=_0x2739c0[_0x2cf8a1];return _0x4776ae;}import{assertCompanyKnowledgeBase,assertExpectedKbVersion,inspectKbContent,kbError,projectKb,readKbFile,readKbId,requireKb,requireKbExplicitYes,verifyKbMutationReadback}from'../../commands/kb/shared.js';const UPDATE_PATH=a105_0x56403f(0x11e),NON_ATOMIC_WARNING=a105_0x56403f(0x12a);function readUpdatePatch(_0x44367c){const _0x208c90=a105_0x56403f,_0x2ef0e2=readKbId(_0x44367c),_0x279e20=_0x44367c[_0x208c90(0x134)](_0x208c90(0x150)),_0x1a46f9=_0x44367c[_0x208c90(0x134)](_0x208c90(0x152)),_0x1fc47b=_0x44367c[_0x208c90(0x134)](_0x208c90(0x141)),_0x2503e8=_0x279e20===undefined?undefined:String(_0x279e20)[_0x208c90(0x12b)]();if(_0x279e20!==undefined&&!_0x2503e8)throw kbError(_0x208c90(0x131),_0x208c90(0x13a));const _0x18c894=_0x1a46f9===undefined?undefined:String(_0x1a46f9)['trim']();if(_0x1a46f9!==undefined&&!_0x18c894)throw kbError('kb_file_required',_0x208c90(0x140));if(_0x2503e8===undefined&&_0x18c894===undefined)throw kbError(_0x208c90(0x121),_0x208c90(0x123),_0x208c90(0x14a));let _0x4d8716;if(_0x1fc47b!==undefined){_0x4d8716=Number(_0x1fc47b);if(!Number[_0x208c90(0x14c)](_0x4d8716)||_0x4d8716<0x0)throw kbError(_0x208c90(0x137),_0x208c90(0x144));}return{'id':_0x2ef0e2,'title':_0x2503e8,'file':_0x18c894,'expectedVersion':_0x4d8716};}async function prepareUpdate(_0x5735d4){const _0xd8fe17=a105_0x56403f,_0x36a0ee=readUpdatePatch(_0x5735d4),_0x3a9280=await requireKb(_0x5735d4,_0x36a0ee['id']);assertExpectedKbVersion(_0x3a9280,_0x36a0ee[_0xd8fe17(0x125)]);const _0xb4e562=_0x36a0ee[_0xd8fe17(0x152)]?await readKbFile(_0x36a0ee[_0xd8fe17(0x152)]):undefined,_0x2a0705=projectKb(_0x3a9280),_0x59a70c=projectKb({..._0x3a9280,..._0x36a0ee[_0xd8fe17(0x150)]!==undefined?{'title':_0x36a0ee[_0xd8fe17(0x150)]}:{},..._0xb4e562?{'content':_0xb4e562[_0xd8fe17(0x139)]}:{}});return{'patch':_0x36a0ee,'beforeRecord':_0x3a9280,'before':_0x2a0705,'planned':_0x59a70c,'replacement':_0xb4e562};}export const kbUpdate={'service':'kb','command':'update','description':a105_0x56403f(0x120),'risk':a105_0x56403f(0x14f),'requiresAppCode':!![],'structuredErrors':!![],'flags':[{'name':'id','type':a105_0x56403f(0x12d),'required':!![],'description':a105_0x56403f(0x138)},{'name':a105_0x56403f(0x150),'type':a105_0x56403f(0x13c),'required':![],'description':a105_0x56403f(0x153)},{'name':a105_0x56403f(0x152),'type':a105_0x56403f(0x13c),'required':![],'description':a105_0x56403f(0x143)},{'name':'expected-version','type':a105_0x56403f(0x12d),'required':![],'description':a105_0x56403f(0x14d)}],async 'validate'(_0x1e8d00){readUpdatePatch(_0x1e8d00),requireKbExplicitYes(_0x1e8d00);},async 'dryRun'(_0x1954e6){const _0xf9cbda=a105_0x56403f,_0x59fa13=await prepareUpdate(_0x1954e6),_0x160b62=_0x59fa13[_0xf9cbda(0x156)][_0xf9cbda(0x125)]!==undefined?[NON_ATOMIC_WARNING]:[];return asDryRunResult({'operation':_0xf9cbda(0x13e),'selector':{'id':_0x59fa13[_0xf9cbda(0x13d)]['id'],'scope':_0xf9cbda(0x149),'appCode':_0x59fa13['before'][_0xf9cbda(0x132)]},'before':_0x59fa13[_0xf9cbda(0x13d)],'after':_0x59fa13['planned'],'dryRun':!![],'backend':{'method':_0xf9cbda(0x142),'path':UPDATE_PATH},'warnings':_0x160b62,'verification':{'expectedVersion':_0x59fa13[_0xf9cbda(0x156)][_0xf9cbda(0x125)]??null,'atomicCompareAndSet':![],'plannedSnapshotHash':_0x59fa13[_0xf9cbda(0x13d)]['snapshotHash'],'lookupCommand':_0xf9cbda(0x14b)+_0x59fa13[_0xf9cbda(0x13d)]['id']+_0xf9cbda(0x133)}},{'method':_0xf9cbda(0x142),'url':UPDATE_PATH});},async 'execute'(_0x3c9c9e){const _0x1d8c0c=a105_0x56403f;requireKbExplicitYes(_0x3c9c9e);const _0x3b2611=await prepareUpdate(_0x3c9c9e),_0x4007f4={'id':_0x3b2611[_0x1d8c0c(0x156)]['id'],..._0x3b2611[_0x1d8c0c(0x156)][_0x1d8c0c(0x150)]!==undefined?{'title':_0x3b2611[_0x1d8c0c(0x156)][_0x1d8c0c(0x150)]}:{},..._0x3b2611[_0x1d8c0c(0x145)]?{'content':_0x3b2611['replacement'][_0x1d8c0c(0x139)]}:{}};let _0x3dd2fe=![];try{const _0x3256b9=await updateEnterpriseKnowledgeBase(_0x3c9c9e[_0x1d8c0c(0x135)],_0x4007f4);assertCompanyKnowledgeBase(_0x3256b9,_0x3c9c9e[_0x1d8c0c(0x132)],_0x3b2611[_0x1d8c0c(0x156)]['id']);}catch(_0x195534){if(!isPlatformTransportFailure(_0x195534))throw _0x195534;_0x3dd2fe=!![];}const _0x5dd7d8=await verifyKbMutationReadback(_0x1d8c0c(0x13e),_0x3dd2fe,()=>requireKb(_0x3c9c9e,_0x3b2611['patch']['id'])),_0x5aef6a=projectKb(_0x5dd7d8),_0x1c0224=_0x3b2611[_0x1d8c0c(0x156)]['title']===undefined||_0x5dd7d8['title']===_0x3b2611[_0x1d8c0c(0x156)][_0x1d8c0c(0x150)],_0x41bf4a=!_0x3b2611[_0x1d8c0c(0x145)]||inspectKbContent(_0x5dd7d8[_0x1d8c0c(0x139)])[_0x1d8c0c(0x13f)]===_0x3b2611[_0x1d8c0c(0x145)][_0x1d8c0c(0x13f)],_0x1089c5=!_0x3b2611[_0x1d8c0c(0x145)]||_0x5dd7d8[_0x1d8c0c(0x155)]>_0x3b2611[_0x1d8c0c(0x146)][_0x1d8c0c(0x155)],_0x3a4517=!_0x3dd2fe||_0x3b2611[_0x1d8c0c(0x145)]!==undefined||_0x3b2611[_0x1d8c0c(0x156)]['title']===undefined||_0x3b2611['beforeRecord'][_0x1d8c0c(0x150)]!==_0x3b2611[_0x1d8c0c(0x156)][_0x1d8c0c(0x150)];if(!_0x1c0224||!_0x41bf4a||!_0x1089c5||!_0x3a4517)throw kbError(_0x3dd2fe?_0x1d8c0c(0x154):_0x1d8c0c(0x127),'Company\x20knowledge\x20base\x20'+_0x3b2611[_0x1d8c0c(0x156)]['id']+_0x1d8c0c(0x124),_0x1d8c0c(0x126)+_0x3b2611['patch']['id']+_0x1d8c0c(0x12f));const _0x55f592=[];return _0x3b2611[_0x1d8c0c(0x156)][_0x1d8c0c(0x125)]!==undefined&&_0x55f592[_0x1d8c0c(0x11f)](NON_ATOMIC_WARNING),_0x3dd2fe&&_0x55f592[_0x1d8c0c(0x11f)]('Update\x20response\x20was\x20unavailable;\x20verified\x20applicable\x20postconditions\x20by\x20exact\x20ID\x20without\x20resubmitting.'),{'ok':!![],'data':{'operation':_0x1d8c0c(0x13e),'selector':{'id':_0x5aef6a['id'],'scope':_0x1d8c0c(0x149),'appCode':_0x5aef6a['appCode']},'before':_0x3b2611['before'],'after':_0x5aef6a,'dryRun':![],'backend':{'method':_0x1d8c0c(0x142),'path':UPDATE_PATH},'warnings':_0x55f592,'verification':{'status':_0x1d8c0c(0x148),'recoveredAfterUnknownResponse':_0x3dd2fe,'expectedVersion':_0x3b2611[_0x1d8c0c(0x156)][_0x1d8c0c(0x125)]??null,'atomicCompareAndSet':![],'lookupCommand':_0x1d8c0c(0x14b)+_0x5aef6a['id']+_0x1d8c0c(0x133)}},'message':_0x1d8c0c(0x129)+_0x5aef6a['id']};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a106_0x18ed(){const _0x4b6be3=['1880GIGaXC','3747504QGIPuU','log','timestamp','916oEsIOT','\x20\x20\x20Details:\x20','\x20\x20\x20Time:\x20','message','Clear\x20command\x20history\x20logs','*\x20Lovrabet\x20CLI\x20logs:\x0a','View\x20command\x20history\x20logs','7342ueunrh','readLogs','121BGgOYi','126JxEhTO','length','toLocaleString','*\x20No\x20logs\x20found','duration','logs','forEach','write','error','169328BDbrak','command','clearLogs','21415870CUbpVm','*\x20Logs\x20cleared','success','show','3145534LgVRcr','level','read','1756311LtAPjz','warn','clear','keys','details'];a106_0x18ed=function(){return _0x4b6be3;};return a106_0x18ed();}const a106_0x215bae=a106_0xef8a;function a106_0xef8a(_0xc147b8,_0x552bd8){_0xc147b8=_0xc147b8-0xb8;const _0x18ed82=a106_0x18ed();let _0xef8ab6=_0x18ed82[_0xc147b8];return _0xef8ab6;}(function(_0x2a1dd0,_0x3c5c29){const _0x33edb9=a106_0xef8a,_0x4218a3=_0x2a1dd0();while(!![]){try{const _0x212022=parseInt(_0x33edb9(0xbb))/0x1*(-parseInt(_0x33edb9(0xb9))/0x2)+-parseInt(_0x33edb9(0xcf))/0x3+parseInt(_0x33edb9(0xd8))/0x4*(parseInt(_0x33edb9(0xd4))/0x5)+-parseInt(_0x33edb9(0xd5))/0x6+-parseInt(_0x33edb9(0xcc))/0x7+-parseInt(_0x33edb9(0xc5))/0x8*(-parseInt(_0x33edb9(0xbc))/0x9)+parseInt(_0x33edb9(0xc8))/0xa;if(_0x212022===_0x3c5c29)break;else _0x4218a3['push'](_0x4218a3['shift']());}catch(_0x14aefa){_0x4218a3['push'](_0x4218a3['shift']());}}}(a106_0x18ed,0x66a59));import{logger}from'../../utils/logger.js';function printLogs(_0x80d7ba){const _0x18af6a=a106_0xef8a;if(_0x80d7ba['length']===0x0){console[_0x18af6a(0xd6)](_0x18af6a(0xbf));return;}console[_0x18af6a(0xd6)](_0x18af6a(0xdd)),_0x80d7ba[_0x18af6a(0xc2)]((_0x4605f7,_0x4aab70)=>{const _0x2546c4=_0x18af6a,_0x43e96a=new Date(_0x4605f7[_0x2546c4(0xd7)])[_0x2546c4(0xbe)]('en-US'),_0x1a6387=_0x4605f7[_0x2546c4(0xcd)]===_0x2546c4(0xca)?'√':_0x4605f7[_0x2546c4(0xcd)]===_0x2546c4(0xc4)?'×':_0x4605f7[_0x2546c4(0xcd)]===_0x2546c4(0xd0)?'!':'i';console[_0x2546c4(0xd6)](_0x4aab70+0x1+'.\x20'+_0x1a6387+'\x20['+_0x4605f7[_0x2546c4(0xc6)]+']\x20'+_0x4605f7[_0x2546c4(0xdb)]),console[_0x2546c4(0xd6)](_0x2546c4(0xda)+_0x43e96a),_0x4605f7[_0x2546c4(0xc0)]&&console[_0x2546c4(0xd6)]('\x20\x20\x20Duration:\x20'+_0x4605f7[_0x2546c4(0xc0)]+'ms'),_0x4605f7[_0x2546c4(0xd3)]&&Object[_0x2546c4(0xd2)](_0x4605f7['details'])[_0x2546c4(0xbd)]>0x0&&console[_0x2546c4(0xd6)](_0x2546c4(0xd9)+JSON['stringify'](_0x4605f7[_0x2546c4(0xd3)],null,0x2)),console[_0x2546c4(0xd6)]('');});}export const logsDefinitions=[{'service':a106_0x215bae(0xc1),'command':a106_0x215bae(0xcb),'description':a106_0x215bae(0xb8),'risk':a106_0x215bae(0xce),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x30d7de){const _0x41a9b4=a106_0x215bae;return printLogs(logger[_0x41a9b4(0xba)]()),{'ok':!![]};}},{'service':a106_0x215bae(0xc1),'command':a106_0x215bae(0xd1),'description':a106_0x215bae(0xdc),'risk':a106_0x215bae(0xc3),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x584b24){const _0xdd7f7b=a106_0x215bae;return logger[_0xdd7f7b(0xc7)](),console['log'](_0xdd7f7b(0xc9)),{'ok':!![]};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a107_0x3985b2=a107_0x3e81;(function(_0x39e591,_0x23b643){const _0x2da4f7=a107_0x3e81,_0x966485=_0x39e591();while(!![]){try{const _0x5e3e36=parseInt(_0x2da4f7(0x174))/0x1*(parseInt(_0x2da4f7(0x15f))/0x2)+parseInt(_0x2da4f7(0x19d))/0x3+parseInt(_0x2da4f7(0x18b))/0x4*(-parseInt(_0x2da4f7(0x19b))/0x5)+parseInt(_0x2da4f7(0x167))/0x6+-parseInt(_0x2da4f7(0x184))/0x7*(parseInt(_0x2da4f7(0x180))/0x8)+-parseInt(_0x2da4f7(0x175))/0x9+-parseInt(_0x2da4f7(0x162))/0xa;if(_0x5e3e36===_0x23b643)break;else _0x966485['push'](_0x966485['shift']());}catch(_0x563f60){_0x966485['push'](_0x966485['shift']());}}}(a107_0x467c,0x1ddac));import a107_0xc5405c 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,isInteractive,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';export const menuAssetUpdate={'service':'menu','command':a107_0x3985b2(0x15c),'description':a107_0x3985b2(0x16b),'risk':a107_0x3985b2(0x160),'flags':[{'name':a107_0x3985b2(0x166),'type':'string','description':a107_0x3985b2(0x18c)+a107_0x3985b2(0x1a1)},{'name':'mode','type':'string','description':'Resource\x20update\x20mode:\x20replace\x20rewrites\x20resources\x20from\x20supplied\x20URLs;\x20'+'patch\x20replaces\x20a\x20supplied\x20type\x20only\x20when\x20the\x20existing\x20target\x20is\x20unambiguous','enum':['replace',a107_0x3985b2(0x16c)],'default':a107_0x3985b2(0x16c)},{'name':a107_0x3985b2(0x16d),'type':a107_0x3985b2(0x179),'description':a107_0x3985b2(0x16f)},{'name':'menu-ids','type':a107_0x3985b2(0x19f),'description':a107_0x3985b2(0x17a)},{'name':a107_0x3985b2(0x17c),'type':'string','description':a107_0x3985b2(0x177)},{'name':a107_0x3985b2(0x18e),'type':a107_0x3985b2(0x179),'description':a107_0x3985b2(0x188)},{'name':a107_0x3985b2(0x163),'type':a107_0x3985b2(0x19f),'enum':['import',a107_0x3985b2(0x172),'fetch'],'description':a107_0x3985b2(0x1ac)}],async 'dryRun'(_0x3ef557){const _0x570824=a107_0x3985b2;ensureRunnableContext(_0x3ef557[_0x570824(0x1a6)],_0x3ef557[_0x570824(0x161)]);const _0x473adb=await runMenuUpdateCore(_0x3ef557[_0x570824(0x181)],_0x3ef557[_0x570824(0x190)],_0x3ef557[_0x570824(0x18d)](_0x570824(0x166)),{'mode':parseMode(_0x3ef557[_0x570824(0x18d)]('mode')),'dryRun':!![],'force':_0x3ef557[_0x570824(0x191)]('force'),'selection':parseSelection(_0x3ef557),'loadScriptMode':parseLoadScriptMode(_0x3ef557[_0x570824(0x18d)](_0x570824(0x163)))});return{'method':'POST','url':_0x570824(0x185),'body':_0x473adb,'description':_0x473adb[_0x570824(0x19c)]?'No\x20menus\x20with\x20existing\x20resources\x20would\x20be\x20updated.':'Would\x20update\x20'+(_0x473adb[_0x570824(0x18a)]?.[_0x570824(0x16a)]??0x0)+_0x570824(0x178)};},async 'execute'(_0x4ed46f){const _0xba3caf=a107_0x3985b2;ensureRunnableContext(_0x4ed46f[_0xba3caf(0x1a6)],_0x4ed46f[_0xba3caf(0x161)]);const _0x49ae5f=_0x4ed46f[_0xba3caf(0x1a8)](_0xba3caf(0x1ae)),_0x4630ae=_0x4ed46f['str'](_0xba3caf(0x166)),_0xe492fd=parseMode(_0x4ed46f[_0xba3caf(0x18d)](_0xba3caf(0x1a7))),_0x1909a2=_0x4ed46f[_0xba3caf(0x191)]('force'),_0x380a81=parseLoadScriptMode(_0x4ed46f[_0xba3caf(0x18d)](_0xba3caf(0x163))),_0x32d70f=parseParams(_0x4630ae),_0x48b2e7=!!(_0x32d70f[_0xba3caf(0x196)]||_0x32d70f[_0xba3caf(0x15a)]);if(_0x49ae5f||_0x48b2e7&&!isInteractive()){const _0x1cc9b3=await runMenuUpdateCore(_0x4ed46f[_0xba3caf(0x181)],_0x4ed46f[_0xba3caf(0x190)],_0x4630ae,{'mode':_0xe492fd,'force':_0x1909a2,'selection':parseSelection(_0x4ed46f),'loadScriptMode':_0x380a81});return _0x1cc9b3['skipped']?writeCliSideChannelLine('!\x20No\x20menus\x20with\x20existing\x20resources\x20found'):(writeCliSideChannelLine(_0xba3caf(0x171)+_0x1cc9b3[_0xba3caf(0x170)]+_0xba3caf(0x187)),_0x1cc9b3[_0xba3caf(0x1ab)]>0x0&&writeCliSideChannelLine('!\x20'+_0x1cc9b3[_0xba3caf(0x1ab)]+'\x20menu(s)\x20failed')),{'ok':_0x1cc9b3[_0xba3caf(0x1ab)]===0x0,'data':_0x1cc9b3,'message':_0x1cc9b3['skipped']?'Menu\x20asset\x20update\x20skipped':_0xba3caf(0x1a2)+_0x1cc9b3[_0xba3caf(0x170)]+_0xba3caf(0x199)+_0x1cc9b3[_0xba3caf(0x1ab)]+'\x20failed.'};}requireInteractive();const _0x3fe4c4=startSpinner('Fetching\x20online\x20menu\x20list...');let _0x2d86ad;try{_0x2d86ad=await fetchOnlineMenuList(_0x4ed46f[_0xba3caf(0x181)],_0x4ed46f[_0xba3caf(0x190)]),stopSpinner(_0x3fe4c4,_0xba3caf(0x173),!![]);}catch(_0x581a29){stopSpinner(_0x3fe4c4,_0xba3caf(0x1a0),![]);throw CliErrors[_0xba3caf(0x192)](_0x581a29 instanceof Error?_0x581a29[_0xba3caf(0x193)]:_0xba3caf(0x1a0));}const _0x1f8e52=filterMenusWithResources(_0x2d86ad),_0x2250bb=parseSelection(_0x4ed46f,![]),_0x16ae34=_0x2250bb?selectMenusForUpdate(_0x1f8e52,_0x2250bb):_0x1f8e52;if(_0x16ae34[_0xba3caf(0x16a)]===0x0)return writeCliSideChannelLine(a107_0xc5405c[_0xba3caf(0x169)]('\x20\x20!\x20No\x20menus\x20with\x20existing\x20resources\x20found')),{'ok':!![]};writeCliSideChannelLine(''),writeCliSideChannelLine(a107_0xc5405c[_0xba3caf(0x16e)](_0xba3caf(0x17d)+_0x16ae34[_0xba3caf(0x16a)]+_0xba3caf(0x183))),writeCliSideChannelLine(renderUpdateSummary(_0x16ae34[_0xba3caf(0x164)](_0x2c657e=>_0x2c657e[_0xba3caf(0x1ad)]),[_0x32d70f[_0xba3caf(0x196)],_0x32d70f[_0xba3caf(0x15a)]])),writeCliSideChannelLine('');let _0x965f48=_0x32d70f[_0xba3caf(0x196)],_0x422661=_0x32d70f[_0xba3caf(0x15a)];!_0x965f48&&(_0x965f48=await askJsUrl());!_0x422661&&(_0x422661=await askCssUrl());const _0x4abdfd=await askConfirm('\x20\x20Update\x20'+_0x16ae34[_0xba3caf(0x16a)]+'\x20menu(s)\x20with\x20JS:\x20'+_0x965f48+_0xba3caf(0x194)+_0x422661+'?');if(!_0x4abdfd)return writeCliSideChannelLine(a107_0xc5405c[_0xba3caf(0x17f)](_0xba3caf(0x17e))),{'ok':!![]};const _0x3d6bb4=startSpinner(_0xba3caf(0x182)+_0x16ae34[_0xba3caf(0x16a)]+_0xba3caf(0x1aa));try{const _0x5c2ec9=await runMenuUpdateCore(_0x4ed46f['appCode'],_0x4ed46f[_0xba3caf(0x190)],JSON[_0xba3caf(0x197)]({'jsUrl':_0x965f48,'cssUrl':_0x422661}),{'mode':_0xe492fd,'force':_0x1909a2,'selection':{'all':![],'menuIds':_0x16ae34[_0xba3caf(0x164)](_0x15940f=>_0x15940f['id']),'paths':[]},'loadScriptMode':_0x380a81});return stopSpinner(_0x3d6bb4,_0xba3caf(0x15d)+_0x5c2ec9[_0xba3caf(0x170)]+_0xba3caf(0x18f),_0x5c2ec9[_0xba3caf(0x1ab)]===0x0),{'ok':_0x5c2ec9['failed']===0x0,'data':_0x5c2ec9,'message':_0x5c2ec9[_0xba3caf(0x1ab)]>0x0?_0xba3caf(0x1a2)+_0x5c2ec9[_0xba3caf(0x170)]+_0xba3caf(0x199)+_0x5c2ec9[_0xba3caf(0x1ab)]+'\x20failed.':_0xba3caf(0x1a2)+_0x5c2ec9[_0xba3caf(0x170)]+'\x20updated.'};}catch(_0x2f3cf1){stopSpinner(_0x3d6bb4,'Menu\x20asset\x20update\x20failed',![]);throw CliErrors[_0xba3caf(0x192)](_0x2f3cf1 instanceof Error?_0x2f3cf1['message']:_0xba3caf(0x19e));}}};function ensureRunnableContext(_0x1d447d,_0x1d7f49){const _0x14ec34=a107_0x3985b2,_0x25feeb=_0x1d447d[_0x14ec34(0x198)]?String(_0x1d447d['appcode'])[_0x14ec34(0x1a4)]():'';if(!isInProject()&&!_0x1d7f49&&!_0x25feeb)throw CliErrors[_0x14ec34(0x192)](_0x14ec34(0x195)+'Run\x20inside\x20a\x20directory\x20with\x20.rabetbase.json,\x20or\x20pass\x20--appcode\x20<code>.');}function parseMode(_0x361ae9){const _0x9f0a87=a107_0x3985b2;if(!_0x361ae9)return _0x9f0a87(0x16c);if(_0x361ae9===_0x9f0a87(0x1a9)||_0x361ae9==='patch')return _0x361ae9;throw CliErrors['validation'](_0x9f0a87(0x176));}function parseSelection(_0x14c078,_0x58cfd4=!![]){const _0x5bb571=a107_0x3985b2,_0x37e77f=_0x14c078[_0x5bb571(0x191)](_0x5bb571(0x18e)),_0x3c1272=parseMenuIds(_0x14c078[_0x5bb571(0x18d)](_0x5bb571(0x168))),_0x23cb27=parseCsv(_0x14c078[_0x5bb571(0x18d)]('paths')),_0x47c973=_0x3c1272[_0x5bb571(0x16a)]>0x0||_0x23cb27['length']>0x0;if(_0x37e77f&&_0x47c973)throw CliErrors['validation'](_0x5bb571(0x15e));if(!_0x37e77f&&!_0x47c973){if(!_0x58cfd4)return undefined;throw CliErrors['validation']('menu\x20asset-update\x20requires\x20an\x20explicit\x20target:\x20pass\x20--all,\x20--menu-ids,\x20or\x20--paths.');}return{'all':_0x37e77f,'menuIds':_0x3c1272,'paths':_0x23cb27};}function a107_0x3e81(_0x2babda,_0x1017c7){_0x2babda=_0x2babda-0x15a;const _0x467c10=a107_0x467c();let _0x3e8185=_0x467c10[_0x2babda];return _0x3e8185;}function parseMenuIds(_0x31106b){const _0x3df16c=a107_0x3985b2,_0x1c0f27=parseCsv(_0x31106b),_0x976b1e=_0x1c0f27[_0x3df16c(0x164)](Number);if(_0x976b1e[_0x3df16c(0x189)](_0x28eb63=>!Number[_0x3df16c(0x15b)](_0x28eb63)||_0x28eb63<=0x0))throw CliErrors[_0x3df16c(0x192)](_0x3df16c(0x19a));return[...new Set(_0x976b1e)];}function parseCsv(_0x47845f){const _0x18f041=a107_0x3985b2;return[...new Set(_0x47845f['split'](',')[_0x18f041(0x164)](_0x134da9=>_0x134da9[_0x18f041(0x1a4)]())[_0x18f041(0x17b)](Boolean))];}function parseLoadScriptMode(_0x5f5ceb){const _0x5c66fc=a107_0x3985b2;if(!_0x5f5ceb)return undefined;if(_0x5f5ceb==='import'||_0x5f5ceb==='script'||_0x5f5ceb===_0x5c66fc(0x1a3))return _0x5f5ceb;throw CliErrors[_0x5c66fc(0x192)](_0x5c66fc(0x1a5));}function parseParams(_0x2286f5){const _0x212df2=a107_0x3985b2;if(!_0x2286f5)return{};try{const _0x4d5c07=JSON[_0x212df2(0x186)](_0x2286f5);if(typeof _0x4d5c07!==_0x212df2(0x165)||_0x4d5c07===null||Array['isArray'](_0x4d5c07))return{};return{'jsUrl':typeof _0x4d5c07[_0x212df2(0x196)]===_0x212df2(0x19f)?_0x4d5c07[_0x212df2(0x196)][_0x212df2(0x1a4)]():undefined,'cssUrl':typeof _0x4d5c07[_0x212df2(0x15a)]===_0x212df2(0x19f)?_0x4d5c07[_0x212df2(0x15a)][_0x212df2(0x1a4)]():undefined};}catch{return{};}}function a107_0x467c(){const _0xf05f98=['1082205ZiXjgY','Invalid\x20--mode.\x20Allowed\x20values:\x20replace,\x20patch','Exact\x20comma-separated\x20menu\x20paths\x20to\x20update','\x20menu\x20resource\x20set(s).','boolean','Exact\x20comma-separated\x20menu\x20IDs\x20to\x20update','filter','paths','\x20\x20Found\x20','\x20\x20Cancelled.','gray','6728EDFMmq','appCode','Updating\x20','\x20menu(s)\x20with\x20existing\x20resources','651UKMPDn','/smartapi/menu/update','parse','\x20menu(s)\x20updated','Explicitly\x20update\x20every\x20menu\x20that\x20has\x20resources','some','diffs','76LDNJyV','Pre-fill\x20JS/CSS\x20URLs\x20to\x20update.\x20','str','all','\x20menu(s)','cookie','bool','validation','message','\x20and\x20CSS:\x20','menu\x20asset-update\x20requires\x20a\x20project\x20context\x20or\x20explicit\x20--appcode.\x20','jsUrl','stringify','appcode','\x20updated,\x20','--menu-ids\x20must\x20contain\x20positive\x20safe\x20integers.','1955LQNHCT','skipped','76839YnkNxX','Menu\x20asset\x20update\x20failed','string','Failed\x20to\x20fetch\x20online\x20menu\x20list','JSON:\x20{\x22jsUrl\x22:\x22https://...js\x22,\x22cssUrl\x22:\x22https://...css\x22}','Menu\x20asset\x20update\x20completed:\x20','fetch','trim','Invalid\x20--load-mode.\x20Allowed\x20values:\x20import,\x20script,\x20fetch','rawFlags','mode','flag','replace','\x20menu(s)...','failed','Explicitly\x20change\x20the\x20microfrontend\x20resource\x20loading\x20mode','label','yes','cssUrl','isSafeInteger','asset-update','Updated\x20','--all\x20cannot\x20be\x20combined\x20with\x20--menu-ids\x20or\x20--paths.','2cdNggD','high-risk-write','selectedAppName','843500mzwCIp','load-mode','map','object','params','1024098icRRYQ','menu-ids','yellow','length','Update\x20CDN\x20asset\x20URLs\x20for\x20selected\x20online\x20menus\x20with\x20existing\x20resources','patch','force','cyan','Allow\x20replace\x20mode\x20to\x20remove\x20existing\x20JS\x20resources','updated','✓\x20Menu\x20asset\x20update\x20completed:\x20','script','Online\x20menu\x20list\x20fetched','216225FiIodz'];a107_0x467c=function(){return _0xf05f98;};return a107_0x467c();}
|
|
1
|
+
function a107_0x53b7(_0xd532e9,_0xd339da){_0xd532e9=_0xd532e9-0xba;const _0x399fad=a107_0x399f();let _0x53b7da=_0x399fad[_0xd532e9];return _0x53b7da;}const a107_0x309d8c=a107_0x53b7;(function(_0x280104,_0xa33cb6){const _0x54faa6=a107_0x53b7,_0x8affe4=_0x280104();while(!![]){try{const _0x34c6b7=-parseInt(_0x54faa6(0xec))/0x1*(-parseInt(_0x54faa6(0xca))/0x2)+-parseInt(_0x54faa6(0xdc))/0x3+-parseInt(_0x54faa6(0xbe))/0x4+-parseInt(_0x54faa6(0xda))/0x5*(parseInt(_0x54faa6(0xe8))/0x6)+parseInt(_0x54faa6(0x10d))/0x7+-parseInt(_0x54faa6(0xd2))/0x8*(-parseInt(_0x54faa6(0xce))/0x9)+-parseInt(_0x54faa6(0xed))/0xa*(-parseInt(_0x54faa6(0x106))/0xb);if(_0x34c6b7===_0xa33cb6)break;else _0x8affe4['push'](_0x8affe4['shift']());}catch(_0x3bc626){_0x8affe4['push'](_0x8affe4['shift']());}}}(a107_0x399f,0x71a52));import a107_0x4cf887 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,isInteractive,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 a107_0x399f(){const _0x50faa6=['\x20\x20Cancelled.','Allow\x20replace\x20mode\x20to\x20remove\x20existing\x20JS\x20resources','No\x20menus\x20with\x20existing\x20resources\x20would\x20be\x20updated.','5ptsdvU','Explicitly\x20update\x20every\x20menu\x20that\x20has\x20resources','2310726tnWrDA','string','\x20updated,\x20','\x20\x20!\x20No\x20menus\x20with\x20existing\x20resources\x20found','cookie','length','stringify','replace','Explicitly\x20change\x20the\x20microfrontend\x20resource\x20loading\x20mode','\x20menu\x20resource\x20set(s).','POST','boolean','1846134bIEaos','object','isSafeInteger','force','211wceWoR','10ltPcVr','Menu\x20asset\x20update\x20completed:\x20','diffs','mode','yellow','str','/smartapi/menu/update','high-risk-write','split','filter','flag','!\x20No\x20menus\x20with\x20existing\x20resources\x20found','bool','load-mode','\x20and\x20CSS:\x20','map','jsUrl','failed','Online\x20menu\x20list\x20fetched','--all\x20cannot\x20be\x20combined\x20with\x20--menu-ids\x20or\x20--paths.','paths','skipped','cssUrl','updated','\x20menu(s)\x20failed','682495IKqkEy','message','Updated\x20','cyan','Failed\x20to\x20fetch\x20online\x20menu\x20list','trim','Pre-fill\x20JS/CSS\x20URLs\x20to\x20update.\x20','2226546BvLvCn','Updating\x20','\x20failed.','patch\x20replaces\x20a\x20supplied\x20type\x20only\x20when\x20the\x20existing\x20target\x20is\x20unambiguous','all','✓\x20Menu\x20asset\x20update\x20completed:\x20','isArray','364116UcTiyo','parse','menu','menu-ids','patch','appCode','Fetching\x20online\x20menu\x20list...','params','Menu\x20asset\x20update\x20failed','Invalid\x20--load-mode.\x20Allowed\x20values:\x20import,\x20script,\x20fetch','appcode','Would\x20update\x20','3712YYZBUn','rawFlags','validation','Exact\x20comma-separated\x20menu\x20IDs\x20to\x20update','9ZMTtJV','--menu-ids\x20must\x20contain\x20positive\x20safe\x20integers.','Invalid\x20--mode.\x20Allowed\x20values:\x20replace,\x20patch','menu\x20asset-update\x20requires\x20an\x20explicit\x20target:\x20pass\x20--all,\x20--menu-ids,\x20or\x20--paths.','6901688BYYzkB','\x20menu(s)\x20with\x20existing\x20resources','selectedAppName','import','script'];a107_0x399f=function(){return _0x50faa6;};return a107_0x399f();}export const menuAssetUpdate={'service':a107_0x309d8c(0xc0),'command':'asset-update','description':'Update\x20CDN\x20asset\x20URLs\x20for\x20selected\x20online\x20menus\x20with\x20existing\x20resources','risk':a107_0x309d8c(0xf4),'flags':[{'name':'params','type':a107_0x309d8c(0xdd),'description':a107_0x309d8c(0x10c)+'JSON:\x20{\x22jsUrl\x22:\x22https://...js\x22,\x22cssUrl\x22:\x22https://...css\x22}'},{'name':'mode','type':a107_0x309d8c(0xdd),'description':'Resource\x20update\x20mode:\x20replace\x20rewrites\x20resources\x20from\x20supplied\x20URLs;\x20'+a107_0x309d8c(0xba),'enum':[a107_0x309d8c(0xe3),'patch'],'default':a107_0x309d8c(0xc2)},{'name':'force','type':a107_0x309d8c(0xe7),'description':a107_0x309d8c(0xd8)},{'name':a107_0x309d8c(0xc1),'type':a107_0x309d8c(0xdd),'description':a107_0x309d8c(0xcd)},{'name':a107_0x309d8c(0x101),'type':a107_0x309d8c(0xdd),'description':'Exact\x20comma-separated\x20menu\x20paths\x20to\x20update'},{'name':a107_0x309d8c(0xbb),'type':a107_0x309d8c(0xe7),'description':a107_0x309d8c(0xdb)},{'name':'load-mode','type':'string','enum':[a107_0x309d8c(0xd5),a107_0x309d8c(0xd6),'fetch'],'description':a107_0x309d8c(0xe4)}],async 'dryRun'(_0x116686){const _0x5252b9=a107_0x309d8c;ensureRunnableContext(_0x116686[_0x5252b9(0xcb)],_0x116686[_0x5252b9(0xd4)]);const _0x62a46a=await runMenuUpdateCore(_0x116686['appCode'],_0x116686[_0x5252b9(0xe0)],_0x116686[_0x5252b9(0xf2)](_0x5252b9(0xc5)),{'mode':parseMode(_0x116686[_0x5252b9(0xf2)](_0x5252b9(0xf0))),'dryRun':!![],'force':_0x116686[_0x5252b9(0xf9)](_0x5252b9(0xeb)),'selection':parseSelection(_0x116686),'loadScriptMode':parseLoadScriptMode(_0x116686[_0x5252b9(0xf2)](_0x5252b9(0xfa)))});return{'method':_0x5252b9(0xe6),'url':_0x5252b9(0xf3),'body':_0x62a46a,'description':_0x62a46a['skipped']?_0x5252b9(0xd9):_0x5252b9(0xc9)+(_0x62a46a[_0x5252b9(0xef)]?.[_0x5252b9(0xe1)]??0x0)+_0x5252b9(0xe5)};},async 'execute'(_0x27893a){const _0x1315dc=a107_0x309d8c;ensureRunnableContext(_0x27893a['rawFlags'],_0x27893a['selectedAppName']);const _0x2b5138=_0x27893a[_0x1315dc(0xf7)]('yes'),_0xf7bcf7=_0x27893a['str'](_0x1315dc(0xc5)),_0x1bb6cd=parseMode(_0x27893a[_0x1315dc(0xf2)]('mode')),_0x4ba04e=_0x27893a[_0x1315dc(0xf9)](_0x1315dc(0xeb)),_0x473303=parseLoadScriptMode(_0x27893a[_0x1315dc(0xf2)](_0x1315dc(0xfa))),_0x833076=parseParams(_0xf7bcf7),_0x347dec=!!(_0x833076[_0x1315dc(0xfd)]||_0x833076['cssUrl']);if(_0x2b5138||_0x347dec&&!isInteractive()){const _0x24312e=await runMenuUpdateCore(_0x27893a[_0x1315dc(0xc3)],_0x27893a[_0x1315dc(0xe0)],_0xf7bcf7,{'mode':_0x1bb6cd,'force':_0x4ba04e,'selection':parseSelection(_0x27893a),'loadScriptMode':_0x473303});return _0x24312e[_0x1315dc(0x102)]?writeCliSideChannelLine(_0x1315dc(0xf8)):(writeCliSideChannelLine(_0x1315dc(0xbc)+_0x24312e['updated']+'\x20menu(s)\x20updated'),_0x24312e[_0x1315dc(0xfe)]>0x0&&writeCliSideChannelLine('!\x20'+_0x24312e[_0x1315dc(0xfe)]+_0x1315dc(0x105))),{'ok':_0x24312e[_0x1315dc(0xfe)]===0x0,'data':_0x24312e,'message':_0x24312e[_0x1315dc(0x102)]?'Menu\x20asset\x20update\x20skipped':_0x1315dc(0xee)+_0x24312e[_0x1315dc(0x104)]+'\x20updated,\x20'+_0x24312e[_0x1315dc(0xfe)]+_0x1315dc(0x10f)};}requireInteractive();const _0x64554c=startSpinner(_0x1315dc(0xc4));let _0xd5da78;try{_0xd5da78=await fetchOnlineMenuList(_0x27893a['appCode'],_0x27893a[_0x1315dc(0xe0)]),stopSpinner(_0x64554c,_0x1315dc(0xff),!![]);}catch(_0x38d91e){stopSpinner(_0x64554c,_0x1315dc(0x10a),![]);throw CliErrors[_0x1315dc(0xcc)](_0x38d91e instanceof Error?_0x38d91e[_0x1315dc(0x107)]:'Failed\x20to\x20fetch\x20online\x20menu\x20list');}const _0x2cbadc=filterMenusWithResources(_0xd5da78),_0x1ad404=parseSelection(_0x27893a,![]),_0xc9ab17=_0x1ad404?selectMenusForUpdate(_0x2cbadc,_0x1ad404):_0x2cbadc;if(_0xc9ab17[_0x1315dc(0xe1)]===0x0)return writeCliSideChannelLine(a107_0x4cf887[_0x1315dc(0xf1)](_0x1315dc(0xdf))),{'ok':!![]};writeCliSideChannelLine(''),writeCliSideChannelLine(a107_0x4cf887[_0x1315dc(0x109)]('\x20\x20Found\x20'+_0xc9ab17[_0x1315dc(0xe1)]+_0x1315dc(0xd3))),writeCliSideChannelLine(renderUpdateSummary(_0xc9ab17[_0x1315dc(0xfc)](_0x455c9=>_0x455c9['label']),[_0x833076[_0x1315dc(0xfd)],_0x833076['cssUrl']])),writeCliSideChannelLine('');let _0x12aa46=_0x833076[_0x1315dc(0xfd)],_0x3d3da6=_0x833076['cssUrl'];!_0x12aa46&&(_0x12aa46=await askJsUrl());!_0x3d3da6&&(_0x3d3da6=await askCssUrl());const _0x2ad34e=await askConfirm('\x20\x20Update\x20'+_0xc9ab17[_0x1315dc(0xe1)]+'\x20menu(s)\x20with\x20JS:\x20'+_0x12aa46+_0x1315dc(0xfb)+_0x3d3da6+'?');if(!_0x2ad34e)return writeCliSideChannelLine(a107_0x4cf887['gray'](_0x1315dc(0xd7))),{'ok':!![]};const _0x15dd73=startSpinner(_0x1315dc(0x10e)+_0xc9ab17[_0x1315dc(0xe1)]+'\x20menu(s)...');try{const _0x63c895=await runMenuUpdateCore(_0x27893a[_0x1315dc(0xc3)],_0x27893a['cookie'],JSON[_0x1315dc(0xe2)]({'jsUrl':_0x12aa46,'cssUrl':_0x3d3da6}),{'mode':_0x1bb6cd,'force':_0x4ba04e,'selection':{'all':![],'menuIds':_0xc9ab17[_0x1315dc(0xfc)](_0x2ee486=>_0x2ee486['id']),'paths':[]},'loadScriptMode':_0x473303});return stopSpinner(_0x15dd73,_0x1315dc(0x108)+_0x63c895['updated']+'\x20menu(s)',_0x63c895[_0x1315dc(0xfe)]===0x0),{'ok':_0x63c895[_0x1315dc(0xfe)]===0x0,'data':_0x63c895,'message':_0x63c895['failed']>0x0?_0x1315dc(0xee)+_0x63c895[_0x1315dc(0x104)]+_0x1315dc(0xde)+_0x63c895[_0x1315dc(0xfe)]+'\x20failed.':_0x1315dc(0xee)+_0x63c895[_0x1315dc(0x104)]+'\x20updated.'};}catch(_0x230137){stopSpinner(_0x15dd73,_0x1315dc(0xc6),![]);throw CliErrors[_0x1315dc(0xcc)](_0x230137 instanceof Error?_0x230137[_0x1315dc(0x107)]:'Menu\x20asset\x20update\x20failed');}}};function ensureRunnableContext(_0x2940cb,_0x4b9923){const _0x2f29be=a107_0x309d8c,_0x822736=_0x2940cb[_0x2f29be(0xc8)]?String(_0x2940cb[_0x2f29be(0xc8)])[_0x2f29be(0x10b)]():'';if(!isInProject()&&!_0x4b9923&&!_0x822736)throw CliErrors[_0x2f29be(0xcc)]('menu\x20asset-update\x20requires\x20a\x20project\x20context\x20or\x20explicit\x20--appcode.\x20'+'Run\x20inside\x20a\x20directory\x20with\x20.rabetbase.json,\x20or\x20pass\x20--appcode\x20<code>.');}function parseMode(_0x18cffa){const _0xae8b7e=a107_0x309d8c;if(!_0x18cffa)return'patch';if(_0x18cffa==='replace'||_0x18cffa==='patch')return _0x18cffa;throw CliErrors['validation'](_0xae8b7e(0xd0));}function parseSelection(_0x3a168b,_0x1cdbec=!![]){const _0x56f116=a107_0x309d8c,_0x228911=_0x3a168b['bool'](_0x56f116(0xbb)),_0x57e8b6=parseMenuIds(_0x3a168b[_0x56f116(0xf2)](_0x56f116(0xc1))),_0x9d5ca8=parseCsv(_0x3a168b['str'](_0x56f116(0x101))),_0x941538=_0x57e8b6[_0x56f116(0xe1)]>0x0||_0x9d5ca8[_0x56f116(0xe1)]>0x0;if(_0x228911&&_0x941538)throw CliErrors[_0x56f116(0xcc)](_0x56f116(0x100));if(!_0x228911&&!_0x941538){if(!_0x1cdbec)return undefined;throw CliErrors[_0x56f116(0xcc)](_0x56f116(0xd1));}return{'all':_0x228911,'menuIds':_0x57e8b6,'paths':_0x9d5ca8};}function parseMenuIds(_0x4960f6){const _0x18a1c1=a107_0x309d8c,_0x2f0047=parseCsv(_0x4960f6),_0x1ffb27=_0x2f0047['map'](Number);if(_0x1ffb27['some'](_0x334dd9=>!Number[_0x18a1c1(0xea)](_0x334dd9)||_0x334dd9<=0x0))throw CliErrors[_0x18a1c1(0xcc)](_0x18a1c1(0xcf));return[...new Set(_0x1ffb27)];}function parseCsv(_0x4d80f9){const _0x53efd6=a107_0x309d8c;return[...new Set(_0x4d80f9[_0x53efd6(0xf5)](',')['map'](_0x2c21e1=>_0x2c21e1['trim']())[_0x53efd6(0xf6)](Boolean))];}function parseLoadScriptMode(_0x10d564){const _0x43c6e7=a107_0x309d8c;if(!_0x10d564)return undefined;if(_0x10d564===_0x43c6e7(0xd5)||_0x10d564===_0x43c6e7(0xd6)||_0x10d564==='fetch')return _0x10d564;throw CliErrors['validation'](_0x43c6e7(0xc7));}function parseParams(_0x562929){const _0x4610d6=a107_0x309d8c;if(!_0x562929)return{};try{const _0x418996=JSON[_0x4610d6(0xbf)](_0x562929);if(typeof _0x418996!==_0x4610d6(0xe9)||_0x418996===null||Array[_0x4610d6(0xbd)](_0x418996))return{};return{'jsUrl':typeof _0x418996['jsUrl']===_0x4610d6(0xdd)?_0x418996[_0x4610d6(0xfd)][_0x4610d6(0x10b)]():undefined,'cssUrl':typeof _0x418996[_0x4610d6(0x103)]==='string'?_0x418996[_0x4610d6(0x103)][_0x4610d6(0x10b)]():undefined};}catch{return{};}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a108_0x3fd744=a108_0x330a;function a108_0x583f(){const _0x2df324=['hash','menu_page_shared','folder','rabetbase\x20menu\x20list\x20--format\x20json','\x20is\x20not\x20a\x20folder.','Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20','batch\x20delete','Would\x20batch\x20delete\x20','Batch\x20delete\x20request\x20for\x20menu\x20','menu_delete_page_bound','\x20menu(s)\x20under\x20exact\x20id\x20','Backend\x20reported\x20','\x20is\x20type\x20\x22','expiresAt','451716HtQQRn','unknown','target','map','menu_folder_resources_invalid','\x20is\x20unexpectedly\x20bound\x20to\x20page\x20','Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.','snapshotHash','\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.','string','--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.','remainingIds','selector',';\x20execution\x20must\x20consume\x20','POST','cookie','flagMissing','):\x20','Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.','115pAKawn','causeCode','expect-parent-id','expected-children-count','Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.','2970EJDNwd','Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.','snapshot','menu_tree_invalid','dry-run','Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.','str','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','130arOrhe','failed','childrenCount','join','type','plan','menu','menu_verification_failed','read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch','resources','cascade','path','/smartapi/menu/batchDelete','9567rHebjQ','recursive','268287lpZGsi','createdAt','toLowerCase','One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20','Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out','Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20','The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.','verify\x20batch\x20delete','validation','Post-failure\x20menu\x20readback\x20failed\x20(','Menu\x20','Recursive\x20menu\x20delete\x20plan\x20root\x20','\x20has\x20','batch-delete','76314EzJqJm','641951ukeaeH','Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20','indexOf','add','message','\x20->\x20menu\x20','Folder\x20','\x20still\x20references\x20','byId','absentIds','The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','menus','Post-mismatch\x20menu\x20readback\x20failed\x20(','trim','187284kJHxUH','Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.','causeMessage','push','menu_batch_delete_count_mismatch','boolean','Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.','Deleted\x20','pre-write-plan-validation','resourcesValid','childrenIds','Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file','batch-delete-menu','appCode','pageId','read\x20menu\x20state\x20after\x20batch\x20delete\x20failure','filter','6190fdGEGt','The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.','224schCyU','6XASvIQ','unconfirmed','Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','plan-validation','has','verification','\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.','delete','size','length','The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.','expect-path','Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)','plan-out','menu_plan_invalid','3736mXaVVq','\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.','deleteOrder','--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.','bool','high-risk-write','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence','menu_folder_has_resources','stringify'];a108_0x583f=function(){return _0x2df324;};return a108_0x583f();}(function(_0x2ac571,_0xabd1b2){const _0x5425e1=a108_0x330a,_0x20cf00=_0x2ac571();while(!![]){try{const _0x59b396=-parseInt(_0x5425e1(0x155))/0x1+parseInt(_0x5425e1(0x177))/0x2*(-parseInt(_0x5425e1(0x146))/0x3)+parseInt(_0x5425e1(0x163))/0x4*(parseInt(_0x5425e1(0x129))/0x5)+-parseInt(_0x5425e1(0x154))/0x6*(-parseInt(_0x5425e1(0x176))/0x7)+parseInt(_0x5425e1(0xff))/0x8*(-parseInt(_0x5425e1(0x144))/0x9)+parseInt(_0x5425e1(0x174))/0xa*(parseInt(_0x5425e1(0x12e))/0xb)+-parseInt(_0x5425e1(0x116))/0xc*(-parseInt(_0x5425e1(0x137))/0xd);if(_0x59b396===_0xabd1b2)break;else _0x20cf00['push'](_0x20cf00['shift']());}catch(_0x1fa6ca){_0x20cf00['push'](_0x20cf00['shift']());}}}(a108_0x583f,0x978f8));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a108_0x330a(_0x596a91,_0x425094){_0x596a91=_0x596a91-0xf2;const _0x583fb1=a108_0x583f();let _0x330a28=_0x583fb1[_0x596a91];return _0x330a28;}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':a108_0x3fd744(0x124),'path':a108_0x3fd744(0x143)}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':a108_0x3fd744(0xfc)},MENU_DELETE_RECURSIVE_FLAG={'name':'recursive','type':a108_0x3fd744(0x168),'description':'Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first'},MENU_DELETE_PLAN_OUT_FLAG={'name':a108_0x3fd744(0xfd),'type':a108_0x3fd744(0x11f),'description':a108_0x3fd744(0x16e)},MENU_DELETE_PLAN_FLAG={'name':'plan','type':a108_0x3fd744(0x11f),'description':a108_0x3fd744(0x14a)};export const menuDelete={'service':a108_0x3fd744(0x13d),'command':a108_0x3fd744(0xf7),'description':a108_0x3fd744(0xf2),'risk':a108_0x3fd744(0x104),'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'(_0x40df45){const _0xc451c3=a108_0x3fd744;_0x40df45[_0xc451c3(0x103)](_0xc451c3(0x133))?validateDeleteDryRunInput(_0x40df45):validateDeleteExecuteInput(_0x40df45),requireExplicitYes(_0x40df45);},async 'dryRun'(_0x553c8a){const _0x329d33=a108_0x3fd744;validateDeleteDryRunInput(_0x553c8a);const _0x4acb72=await buildDeletePlan(_0x553c8a),_0x3bd287=createMenuDeletePlanFile(_0x553c8a[_0x329d33(0x170)],_0x4acb72),_0x1969a3=await writeMenuDeletePlan(_0x553c8a[_0x329d33(0x135)]('plan-out'),_0x3bd287),_0x563956=mutationResult({..._0x4acb72,'planFile':{'path':_0x1969a3,'createdAt':_0x3bd287[_0x329d33(0x147)],'expiresAt':_0x3bd287[_0x329d33(0x115)]}});return menuDryRunResult(_0x563956,{'method':'POST','url':'/smartapi/menu/batchDelete','body':{'idList':_0x563956[_0x329d33(0x101)]},'description':_0x329d33(0x10f)+(_0x563956['deleteOrder']?.[_0x329d33(0xf9)]??0x1)+_0x329d33(0x112)+_0x563956[_0x329d33(0x122)]['id']+_0x329d33(0x123)+_0x1969a3+'.'});},async 'execute'(_0x290ce4){const _0x3fdaca=a108_0x3fd744;requireExplicitYes(_0x290ce4),validateDeleteExecuteInput(_0x290ce4);const _0x47e09f=await readMenuDeletePlan(_0x290ce4[_0x3fdaca(0x135)](_0x3fdaca(0x13c))),_0x3a41b1=mutationPlanFromDeleteFile(_0x47e09f[_0x3fdaca(0x13c)],_0x47e09f[_0x3fdaca(0x142)]),_0x2d9525=_0x47e09f[_0x3fdaca(0x13c)][_0x3fdaca(0x118)]['id'];try{assertMenuDeletePlanExecutable(_0x47e09f[_0x3fdaca(0x13c)],_0x290ce4[_0x3fdaca(0x170)]);}catch(_0x10a3fa){throw menuFailure(asMenuError(_0x10a3fa),_0x3a41b1,{'stage':_0x3fdaca(0xf3),'failed':{'id':_0x2d9525}});}let _0x2a5c09,_0xd87a42;try{_0x2a5c09=await fetchMutationSnapshot(_0x290ce4,'execute\x20reviewed\x20delete\x20plan',_0x2d9525),_0xd87a42=assertMenuDeletePlanCurrent(_0x47e09f[_0x3fdaca(0x13c)],_0x290ce4[_0x3fdaca(0x170)],_0x2a5c09),assertDeleteTargetsComplete(_0x47e09f['plan'],_0x2a5c09),_0xd87a42['forEach'](_0x1386b9=>assertDeleteSafety(_0x1386b9,_0x47e09f[_0x3fdaca(0x13c)][_0x3fdaca(0x145)])),assertNoSharedPages(_0x2a5c09,_0xd87a42),assertCascadeMatchesPlan(_0x3a41b1,_0xd87a42);}catch(_0x2943d8){throw menuFailure(asMenuError(_0x2943d8),_0x3a41b1,{'stage':_0x3fdaca(0x16b),'failed':{'id':_0x2d9525}});}const _0xd36b17=_0x47e09f[_0x3fdaca(0x13c)]['deleteOrder'];let _0xbe6ec7;try{_0xbe6ec7=await batchDeleteMenuEntities(_0x290ce4[_0x3fdaca(0x125)],_0xd36b17);}catch(_0x3db500){const _0x31f7f5=mapMenuApiError(_0x3db500,_0x3fdaca(0x10e)),_0x30900c=[_0x3fdaca(0xfa)];let _0x96b439;try{_0x96b439=await readDeleteOutcome(_0x290ce4,_0xd36b17);}catch(_0x4d7fa4){const _0x2176e4=describeMenuErrorCause(_0x4d7fa4,_0x3fdaca(0x172),_0x2d9525);_0x30900c['push'](_0x3fdaca(0x14f)+_0x2176e4[_0x3fdaca(0x12a)]+_0x3fdaca(0x127)+_0x2176e4[_0x3fdaca(0x165)]);throw menuFailure(_0x31f7f5,_0x3a41b1,{'stage':_0x3fdaca(0x153),'failed':{'targetIds':_0xd36b17,'targetIdsAbsent':_0x3fdaca(0x178),..._0x2176e4},'warnings':_0x30900c,'verification':{'status':_0x3fdaca(0x138),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetIds':_0xd36b17}});}throw menuFailure(_0x31f7f5,_0x3a41b1,{'stage':_0x3fdaca(0x153),'succeeded':_0x96b439[_0x3fdaca(0x15e)][_0x3fdaca(0x119)](_0xd06d14=>({'id':_0xd06d14,'deleted':!![]})),'failed':{'targetIds':_0xd36b17,'absentIds':_0x96b439['absentIds'],'remainingIds':_0x96b439[_0x3fdaca(0x121)]},'warnings':_0x30900c,'verification':verificationFromOutcome(_0x96b439)});}if(_0xbe6ec7!==_0xd36b17[_0x3fdaca(0xf9)]){const _0xcba1b7=menuError(_0x3fdaca(0x167),_0x3fdaca(0x113)+_0xbe6ec7+'\x20deleted\x20menus;\x20expected\x20'+_0xd36b17[_0x3fdaca(0xf9)]+'.','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.'),_0x2b5b3e=[_0x3fdaca(0x14c)];let _0x54e74a;try{_0x54e74a=await readDeleteOutcome(_0x290ce4,_0xd36b17);}catch(_0x342aee){const _0x28afc1=describeMenuErrorCause(_0x342aee,_0x3fdaca(0x13f),_0x2d9525);_0x2b5b3e[_0x3fdaca(0x166)](_0x3fdaca(0x161)+_0x28afc1[_0x3fdaca(0x12a)]+_0x3fdaca(0x127)+_0x28afc1['causeMessage']);throw menuFailure(_0xcba1b7,_0x3a41b1,{'stage':_0x3fdaca(0x153),'failed':{'targetIds':_0xd36b17,'expectedCount':_0xd36b17[_0x3fdaca(0xf9)],'reportedDeletedCount':_0xbe6ec7,'targetIdsAbsent':_0x3fdaca(0x178),..._0x28afc1},'warnings':_0x2b5b3e,'verification':{'status':'failed','lookupCommand':_0x3fdaca(0x10b),'targetIds':_0xd36b17}});}throw menuFailure(_0xcba1b7,_0x3a41b1,{'stage':_0x3fdaca(0x153),'succeeded':_0x54e74a[_0x3fdaca(0x15e)]['map'](_0x3981cf=>({'id':_0x3981cf,'deleted':!![]})),'failed':{'targetIds':_0xd36b17,'expectedCount':_0xd36b17[_0x3fdaca(0xf9)],'reportedDeletedCount':_0xbe6ec7,'absentIds':_0x54e74a[_0x3fdaca(0x15e)],'remainingIds':_0x54e74a[_0x3fdaca(0x121)]},'warnings':_0x2b5b3e,'verification':verificationFromOutcome(_0x54e74a)});}let _0x305466;try{_0x305466=await readDeleteOutcome(_0x290ce4,_0xd36b17);}catch(_0x5267d1){const _0x3209f5=describeMenuErrorCause(_0x5267d1,_0x3fdaca(0x14d),_0x2d9525),_0x38eacc=asVerificationError(_0x5267d1,_0x3fdaca(0x110)+_0x2d9525+_0x3fdaca(0x105));throw menuFailure(_0x38eacc,_0x3a41b1,{'stage':_0x3fdaca(0xf5),'succeeded':_0xd36b17[_0x3fdaca(0x119)](_0x3c1f8d=>({'id':_0x3c1f8d,'deleteRequested':!![]})),'failed':{'id':_0x2d9525,'targetIds':_0xd36b17,'targetIdsAbsent':_0x3fdaca(0x178),..._0x3209f5},'warnings':[_0x3fdaca(0x15f)],'verification':{'status':'failed','lookupCommand':_0x3fdaca(0x10b),'targetIds':_0xd36b17}});}if(_0x305466['remainingIds'][_0x3fdaca(0xf9)]>0x0){const _0xc04d95=menuError(_0x3fdaca(0x13e),_0x3fdaca(0x149)+_0x305466['remainingIds'][_0x3fdaca(0x13a)](',\x20')+'.',_0x3fdaca(0x136));throw menuFailure(_0xc04d95,_0x3a41b1,{'stage':_0x3fdaca(0xf5),'succeeded':_0xd36b17[_0x3fdaca(0x119)](_0x190d3f=>({'id':_0x190d3f,'deleteRequested':!![]})),'failed':{'id':_0x2d9525,'targetIds':_0xd36b17,'absentIds':_0x305466[_0x3fdaca(0x15e)],'remainingIds':_0x305466[_0x3fdaca(0x121)]},'warnings':[_0x3fdaca(0x175)],'verification':verificationFromOutcome(_0x305466)});}const _0x46a1e3=_0xd36b17[_0x3fdaca(0x119)](_0x3d0e3b=>({'id':_0x3d0e3b,'deleted':!![]})),_0x46d697=mutationResult({..._0x3a41b1,'dryRun':![],'succeeded':_0x46a1e3,'verification':{'checkedBy':'menu\x20list','plannedSnapshotHash':_0x3a41b1[_0x3fdaca(0x11d)],'finalSnapshotHash':_0x305466[_0x3fdaca(0x131)][_0x3fdaca(0x108)],'reportedDeletedCount':_0xbe6ec7,'targetAbsent':!_0x305466['snapshot'][_0x3fdaca(0x15d)][_0x3fdaca(0xf4)](_0x2d9525),'allTargetsAbsent':!![],'targetIds':_0xd36b17}});return{'ok':!![],'data':_0x46d697,'message':_0x3fdaca(0x16a)+_0x46a1e3['length']+_0x3fdaca(0x112)+_0x2d9525+'.'};}};async function readDeleteOutcome(_0x45e596,_0x2a1365){const _0x19462a=a108_0x3fd744,_0x5916b7=await fetchMenuSnapshot(_0x45e596[_0x19462a(0x170)],_0x45e596[_0x19462a(0x125)]);return{'snapshot':_0x5916b7,'absentIds':_0x2a1365[_0x19462a(0x173)](_0x4ded09=>!_0x5916b7[_0x19462a(0x15d)][_0x19462a(0xf4)](_0x4ded09)),'remainingIds':_0x2a1365['filter'](_0x8fc693=>_0x5916b7[_0x19462a(0x15d)]['has'](_0x8fc693))};}function verificationFromOutcome(_0x44cf70){const _0x579c3e=a108_0x3fd744;return{'checkedBy':'menu\x20list','absentIds':_0x44cf70[_0x579c3e(0x15e)],'remainingIds':_0x44cf70[_0x579c3e(0x121)]};}function validateDeleteDryRunInput(_0x1858da){const _0x2df801=a108_0x3fd744;validateExactId(_0x1858da);if(!hasFlag(_0x1858da,_0x2df801(0xfd))||!_0x1858da[_0x2df801(0x135)](_0x2df801(0xfd))[_0x2df801(0x162)]())throw CliErrors[_0x2df801(0x126)](_0x2df801(0xfd),_0x2df801(0x120));if(hasFlag(_0x1858da,_0x2df801(0x13c)))throw CliErrors[_0x2df801(0x14e)](_0x2df801(0x102));}function validateDeleteExecuteInput(_0x2a91d2){const _0x504cb6=a108_0x3fd744;if(!hasFlag(_0x2a91d2,_0x504cb6(0x13c))||!_0x2a91d2[_0x504cb6(0x135)](_0x504cb6(0x13c))[_0x504cb6(0x162)]())throw CliErrors['flagMissing']('plan','--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.');const _0x15fb75=['id',_0x504cb6(0x145),'plan-out',_0x504cb6(0x12b),_0x504cb6(0xfb),_0x504cb6(0x12c)][_0x504cb6(0x173)](_0x59ba13=>hasFlag(_0x2a91d2,_0x59ba13));if(_0x15fb75[_0x504cb6(0xf9)]>0x0)throw CliErrors[_0x504cb6(0x14e)](_0x504cb6(0x156)+_0x15fb75[_0x504cb6(0x119)](_0x3cb753=>'--'+_0x3cb753)[_0x504cb6(0x13a)](',\x20')+'.');}async function buildDeletePlan(_0x245da1){const _0x4a22f5=a108_0x3fd744,_0xaa3cd4=validateExactId(_0x245da1),_0x3dbe6f=await fetchMutationSnapshot(_0x245da1,'plan\x20delete',_0xaa3cd4),_0x41649c=requireMenu(_0x3dbe6f,_0xaa3cd4);assertExpectedState(_0x245da1,_0x41649c);const _0x4d317a=_0x245da1[_0x4a22f5(0x103)](_0x4a22f5(0x145));let _0x5767b3;if(_0x4d317a){if(_0x41649c[_0x4a22f5(0x13b)][_0x4a22f5(0x162)]()['toLowerCase']()!==_0x4a22f5(0x10a))throw menuError('menu_recursive_requires_folder',_0x4a22f5(0x150)+_0x41649c['id']+_0x4a22f5(0x114)+(_0x41649c[_0x4a22f5(0x13b)]||_0x4a22f5(0x117))+_0x4a22f5(0x11e));_0x5767b3=collectDeleteTargets(_0x3dbe6f,_0x41649c),_0x5767b3['forEach'](_0x4a2c48=>assertDeleteSafety(_0x4a2c48,!![]));}else assertDeleteSafety(_0x41649c),_0x5767b3=[_0x41649c];assertNoSharedPages(_0x3dbe6f,_0x5767b3);const _0x1a32e8=_0x5767b3[_0x4a22f5(0x119)](_0x4abb91=>_0x4abb91['id']),_0x39867f=cascadeForTargets(_0x5767b3),_0x54cd4d=_0x39867f['pages'][_0x4a22f5(0xf9)]>0x0?[_0x4a22f5(0x12d)]:[];return mutationResult({'operation':_0x4a22f5(0xf7),'selector':{'id':_0xaa3cd4,'recursive':_0x4d317a},'before':_0x41649c,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':_0x4a22f5(0x16f),'method':'POST','path':'/smartapi/menu/batchDelete','body':{'idList':_0x1a32e8}}],'targets':_0x5767b3,'deleteOrder':_0x1a32e8,'snapshotHash':_0x3dbe6f['hash'],'cascade':_0x39867f,'warnings':_0x54cd4d});}function assertDeleteSafety(_0x1c8999,_0x5f04d2=![]){const _0x3a5379=a108_0x3fd744,_0x1a7236=_0x1c8999[_0x3a5379(0x13b)][_0x3a5379(0x162)]()[_0x3a5379(0x148)]()==='folder';if(_0x1c8999[_0x3a5379(0x139)]>0x0&&(!_0x5f04d2||!_0x1a7236))throw menuError('menu_non_empty',_0x3a5379(0x150)+_0x1c8999['id']+_0x3a5379(0x152)+_0x1c8999['childrenCount']+_0x3a5379(0xf6),_0x3a5379(0x10d)+_0x1c8999[_0x3a5379(0x16d)][_0x3a5379(0x13a)](',\x20'));if(_0x1a7236&&_0x1c8999[_0x3a5379(0x171)]!=null)throw menuError(_0x3a5379(0x111),'Folder\x20'+_0x1c8999['id']+_0x3a5379(0x11b)+_0x1c8999[_0x3a5379(0x171)]+'\x20and\x20cannot\x20be\x20deleted\x20safely.',_0x3a5379(0x128));if(!_0x1a7236)return;if(!_0x1c8999[_0x3a5379(0x16c)])throw menuError(_0x3a5379(0x11a),_0x3a5379(0x15b)+_0x1c8999['id']+_0x3a5379(0x100),_0x3a5379(0x169));if(_0x1c8999[_0x3a5379(0x140)][_0x3a5379(0xf9)]>0x0)throw menuError(_0x3a5379(0x106),'Folder\x20'+_0x1c8999['id']+_0x3a5379(0x15c)+_0x1c8999[_0x3a5379(0x140)]['length']+'\x20resource\x20URL(s).',_0x3a5379(0x134));}function collectDeleteTargets(_0x4691ec,_0x59d738){const _0x33ae21=[],_0x242e62=new Set(),_0x1d145f=new Set(),_0x443ab4=_0x395a65=>{const _0x30819a=a108_0x330a;if(_0x242e62[_0x30819a(0xf4)](_0x395a65['id']))throw menuError(_0x30819a(0x132),_0x30819a(0x14b)+_0x395a65['id']+'.');if(_0x1d145f[_0x30819a(0xf4)](_0x395a65['id']))return;_0x242e62[_0x30819a(0x158)](_0x395a65['id']);for(const _0x51171f of _0x395a65[_0x30819a(0x16d)]){const _0x14a52b=_0x4691ec['byId']['get'](_0x51171f);if(!_0x14a52b)throw menuError(_0x30819a(0x132),'Menu\x20'+_0x395a65['id']+'\x20references\x20missing\x20child\x20'+_0x51171f+'.');_0x443ab4(_0x14a52b);}_0x242e62[_0x30819a(0xf7)](_0x395a65['id']),_0x1d145f[_0x30819a(0x158)](_0x395a65['id']),_0x33ae21[_0x30819a(0x166)](_0x395a65);};return _0x443ab4(_0x59d738),_0x33ae21;}function assertDeleteTargetsComplete(_0x512309,_0x2a8fa6){const _0xb8090e=a108_0x3fd744,_0x2e3599=requireMenu(_0x2a8fa6,_0x512309[_0xb8090e(0x118)]['id']);if(_0x512309['recursive']&&_0x2e3599[_0xb8090e(0x13b)][_0xb8090e(0x162)]()['toLowerCase']()!==_0xb8090e(0x10a))throw menuError(_0xb8090e(0xfe),_0xb8090e(0x151)+_0x2e3599['id']+_0xb8090e(0x10c));const _0xb3d897=_0x512309['recursive']?collectDeleteTargets(_0x2a8fa6,_0x2e3599)[_0xb8090e(0x119)](_0x2a689a=>_0x2a689a['id']):[_0x2e3599['id']];if(JSON['stringify'](_0x512309[_0xb8090e(0x101)])!==JSON[_0xb8090e(0x107)](_0xb3d897))throw menuError(_0xb8090e(0xfe),_0xb8090e(0x11c),'Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.');}function assertNoSharedPages(_0x2179e1,_0x2d8fcb){const _0x1de8a8=a108_0x3fd744,_0xb06837=new Set(_0x2d8fcb[_0x1de8a8(0x119)](_0x36b5e7=>_0x36b5e7['id'])),_0x5e8d24=new Set(_0x2d8fcb[_0x1de8a8(0x119)](_0x4e75ec=>_0x4e75ec[_0x1de8a8(0x171)])[_0x1de8a8(0x173)](_0x14ccac=>_0x14ccac!=null));if(_0x5e8d24[_0x1de8a8(0xf8)]===0x0)return;const _0x2389f6=_0x2179e1[_0x1de8a8(0x160)][_0x1de8a8(0x173)](_0x286b54=>!_0xb06837['has'](_0x286b54['id'])&&_0x286b54[_0x1de8a8(0x171)]!=null&&_0x5e8d24[_0x1de8a8(0xf4)](_0x286b54[_0x1de8a8(0x171)]));if(_0x2389f6[_0x1de8a8(0xf9)]===0x0)return;const _0x3baf98=_0x2389f6[_0x1de8a8(0x119)](_0x45ae43=>'page\x20'+_0x45ae43[_0x1de8a8(0x171)]+_0x1de8a8(0x15a)+_0x45ae43['id'])[_0x1de8a8(0x13a)](',\x20');throw menuError(_0x1de8a8(0x109),_0x1de8a8(0x12f)+_0x3baf98+'.',_0x1de8a8(0x130));}function assertCascadeMatchesPlan(_0x5d1b79,_0x35a317){const _0x318fdb=a108_0x3fd744,_0x9e81c2=cascadeForTargets(_0x35a317);if(JSON[_0x318fdb(0x107)](_0x5d1b79[_0x318fdb(0x141)])!==JSON[_0x318fdb(0x107)](_0x9e81c2))throw menuError(_0x318fdb(0xfe),_0x318fdb(0x164));}function cascadeForTargets(_0x32b287){const _0x22c8c0=a108_0x3fd744,_0xd6e3b5=_0x32b287[_0x22c8c0(0x119)](_0x3c1614=>_0x3c1614['pageId'])['filter'](_0x1d77c4=>_0x1d77c4!=null)['filter']((_0x259760,_0x41a264,_0x69c79c)=>_0x69c79c[_0x22c8c0(0x157)](_0x259760)===_0x41a264);return{'pages':_0xd6e3b5,'pageSchemaAffected':_0xd6e3b5[_0x22c8c0(0xf9)]>0x0};}function asMenuError(_0x7f73e9){const _0x4b77a7=a108_0x3fd744;return _0x7f73e9 instanceof CliError?_0x7f73e9:menuError(_0x4b77a7(0xfe),_0x7f73e9 instanceof Error?_0x7f73e9[_0x4b77a7(0x159)]:String(_0x7f73e9));}
|
|
1
|
+
const a108_0x581223=a108_0x41c3;(function(_0x23b97a,_0x26ee4f){const _0x5485b9=a108_0x41c3,_0xe2c381=_0x23b97a();while(!![]){try{const _0x3d084e=-parseInt(_0x5485b9(0x1ca))/0x1*(-parseInt(_0x5485b9(0x1c9))/0x2)+-parseInt(_0x5485b9(0x1ed))/0x3*(parseInt(_0x5485b9(0x1b4))/0x4)+parseInt(_0x5485b9(0x1ad))/0x5+parseInt(_0x5485b9(0x1ec))/0x6*(-parseInt(_0x5485b9(0x1e9))/0x7)+-parseInt(_0x5485b9(0x201))/0x8+-parseInt(_0x5485b9(0x1e6))/0x9*(parseInt(_0x5485b9(0x1dc))/0xa)+parseInt(_0x5485b9(0x194))/0xb;if(_0x3d084e===_0x26ee4f)break;else _0xe2c381['push'](_0xe2c381['shift']());}catch(_0x35b125){_0xe2c381['push'](_0xe2c381['shift']());}}}(a108_0x596e,0xb3820));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';function a108_0x41c3(_0x46ad4f,_0x1ae18a){_0x46ad4f=_0x46ad4f-0x18b;const _0x596e87=a108_0x596e();let _0x41c3ef=_0x596e87[_0x46ad4f];return _0x41c3ef;}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':a108_0x581223(0x1dd),'path':a108_0x581223(0x1ba)}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':'Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)'},MENU_DELETE_RECURSIVE_FLAG={'name':'recursive','type':a108_0x581223(0x19e),'description':a108_0x581223(0x200)},MENU_DELETE_PLAN_OUT_FLAG={'name':a108_0x581223(0x1bb),'type':a108_0x581223(0x1e0),'description':a108_0x581223(0x1cc)},MENU_DELETE_PLAN_FLAG={'name':a108_0x581223(0x208),'type':a108_0x581223(0x1e0),'description':a108_0x581223(0x1e5)};export const menuDelete={'service':a108_0x581223(0x1ae),'command':a108_0x581223(0x1d4),'description':'Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','risk':a108_0x581223(0x198),'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'(_0x3713a0){const _0x2c9a8c=a108_0x581223;_0x3713a0[_0x2c9a8c(0x19f)](_0x2c9a8c(0x1c6))?validateDeleteDryRunInput(_0x3713a0):validateDeleteExecuteInput(_0x3713a0),requireExplicitYes(_0x3713a0);},async 'dryRun'(_0x27024a){const _0x576fa0=a108_0x581223;validateDeleteDryRunInput(_0x27024a);const _0x3e393d=await buildDeletePlan(_0x27024a),_0x5a61de=createMenuDeletePlanFile(_0x27024a[_0x576fa0(0x1b9)],_0x3e393d),_0x5927f1=await writeMenuDeletePlan(_0x27024a[_0x576fa0(0x1d5)]('plan-out'),_0x5a61de),_0x419fd6=mutationResult({..._0x3e393d,'planFile':{'path':_0x5927f1,'createdAt':_0x5a61de[_0x576fa0(0x1a3)],'expiresAt':_0x5a61de[_0x576fa0(0x1e1)]}});return menuDryRunResult(_0x419fd6,{'method':_0x576fa0(0x1dd),'url':_0x576fa0(0x1ba),'body':{'idList':_0x419fd6['deleteOrder']},'description':_0x576fa0(0x1c4)+(_0x419fd6[_0x576fa0(0x196)]?.[_0x576fa0(0x1bf)]??0x1)+_0x576fa0(0x18e)+_0x419fd6[_0x576fa0(0x1f4)]['id']+_0x576fa0(0x1f7)+_0x5927f1+'.'});},async 'execute'(_0x43aea3){const _0x4844e2=a108_0x581223;requireExplicitYes(_0x43aea3),validateDeleteExecuteInput(_0x43aea3);const _0x560914=await readMenuDeletePlan(_0x43aea3['str'](_0x4844e2(0x208))),_0xb2c9ff=mutationPlanFromDeleteFile(_0x560914[_0x4844e2(0x208)],_0x560914[_0x4844e2(0x1ff)]),_0x1cf30c=_0x560914[_0x4844e2(0x208)][_0x4844e2(0x1ea)]['id'];try{assertMenuDeletePlanExecutable(_0x560914[_0x4844e2(0x208)],_0x43aea3[_0x4844e2(0x1b9)]);}catch(_0x3e8a93){throw menuFailure(asMenuError(_0x3e8a93),_0xb2c9ff,{'stage':_0x4844e2(0x1bc),'failed':{'id':_0x1cf30c}});}let _0x578fa9,_0x986944;try{_0x578fa9=await fetchMutationSnapshot(_0x43aea3,_0x4844e2(0x1f0),_0x1cf30c),_0x986944=assertMenuDeletePlanCurrent(_0x560914[_0x4844e2(0x208)],_0x43aea3[_0x4844e2(0x1b9)],_0x578fa9),assertDeleteTargetsComplete(_0x560914[_0x4844e2(0x208)],_0x578fa9),_0x986944[_0x4844e2(0x1e7)](_0x24eeda=>assertDeleteSafety(_0x24eeda,_0x560914['plan'][_0x4844e2(0x1da)])),assertNoSharedPages(_0x578fa9,_0x986944),assertCascadeMatchesPlan(_0xb2c9ff,_0x986944);}catch(_0x4040ff){throw menuFailure(asMenuError(_0x4040ff),_0xb2c9ff,{'stage':_0x4844e2(0x207),'failed':{'id':_0x1cf30c}});}const _0x1db603=_0x560914[_0x4844e2(0x208)][_0x4844e2(0x196)];let _0x37bbcf;try{_0x37bbcf=await batchDeleteMenuEntities(_0x43aea3['cookie'],_0x1db603);}catch(_0x3db55e){const _0x28fce7=mapMenuApiError(_0x3db55e,_0x4844e2(0x1b1)),_0x1b1d08=['The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.'];let _0x128768;try{_0x128768=await readDeleteOutcome(_0x43aea3,_0x1db603);}catch(_0x17dbb8){const _0x23c387=describeMenuErrorCause(_0x17dbb8,'read\x20menu\x20state\x20after\x20batch\x20delete\x20failure',_0x1cf30c);_0x1b1d08[_0x4844e2(0x1c1)](_0x4844e2(0x1a4)+_0x23c387[_0x4844e2(0x1bd)]+'):\x20'+_0x23c387[_0x4844e2(0x1e3)]);throw menuFailure(_0x28fce7,_0xb2c9ff,{'stage':_0x4844e2(0x1cf),'failed':{'targetIds':_0x1db603,'targetIdsAbsent':_0x4844e2(0x1c8),..._0x23c387},'warnings':_0x1b1d08,'verification':{'status':_0x4844e2(0x1f3),'lookupCommand':_0x4844e2(0x1a0),'targetIds':_0x1db603}});}throw menuFailure(_0x28fce7,_0xb2c9ff,{'stage':_0x4844e2(0x1cf),'succeeded':_0x128768[_0x4844e2(0x1b2)][_0x4844e2(0x195)](_0x57a73b=>({'id':_0x57a73b,'deleted':!![]})),'failed':{'targetIds':_0x1db603,'absentIds':_0x128768[_0x4844e2(0x1b2)],'remainingIds':_0x128768[_0x4844e2(0x1f9)]},'warnings':_0x1b1d08,'verification':verificationFromOutcome(_0x128768)});}if(_0x37bbcf!==_0x1db603[_0x4844e2(0x1bf)]){const _0x46968b=menuError(_0x4844e2(0x1b7),_0x4844e2(0x19d)+_0x37bbcf+'\x20deleted\x20menus;\x20expected\x20'+_0x1db603[_0x4844e2(0x1bf)]+'.',_0x4844e2(0x1b8)),_0xf285ce=[_0x4844e2(0x1ef)];let _0x177cdd;try{_0x177cdd=await readDeleteOutcome(_0x43aea3,_0x1db603);}catch(_0xf0a0a7){const _0x544216=describeMenuErrorCause(_0xf0a0a7,'read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch',_0x1cf30c);_0xf285ce[_0x4844e2(0x1c1)](_0x4844e2(0x1ce)+_0x544216['causeCode']+_0x4844e2(0x1fe)+_0x544216[_0x4844e2(0x1e3)]);throw menuFailure(_0x46968b,_0xb2c9ff,{'stage':'batch-delete','failed':{'targetIds':_0x1db603,'expectedCount':_0x1db603[_0x4844e2(0x1bf)],'reportedDeletedCount':_0x37bbcf,'targetIdsAbsent':'unconfirmed',..._0x544216},'warnings':_0xf285ce,'verification':{'status':_0x4844e2(0x1f3),'lookupCommand':_0x4844e2(0x1a0),'targetIds':_0x1db603}});}throw menuFailure(_0x46968b,_0xb2c9ff,{'stage':_0x4844e2(0x1cf),'succeeded':_0x177cdd[_0x4844e2(0x1b2)]['map'](_0x473044=>({'id':_0x473044,'deleted':!![]})),'failed':{'targetIds':_0x1db603,'expectedCount':_0x1db603[_0x4844e2(0x1bf)],'reportedDeletedCount':_0x37bbcf,'absentIds':_0x177cdd[_0x4844e2(0x1b2)],'remainingIds':_0x177cdd[_0x4844e2(0x1f9)]},'warnings':_0xf285ce,'verification':verificationFromOutcome(_0x177cdd)});}let _0x2d956e;try{_0x2d956e=await readDeleteOutcome(_0x43aea3,_0x1db603);}catch(_0x25876b){const _0xd3ce4=describeMenuErrorCause(_0x25876b,_0x4844e2(0x1f1),_0x1cf30c),_0x5027aa=asVerificationError(_0x25876b,_0x4844e2(0x18b)+_0x1cf30c+_0x4844e2(0x20a));throw menuFailure(_0x5027aa,_0xb2c9ff,{'stage':_0x4844e2(0x1e4),'succeeded':_0x1db603[_0x4844e2(0x195)](_0x5c0461=>({'id':_0x5c0461,'deleteRequested':!![]})),'failed':{'id':_0x1cf30c,'targetIds':_0x1db603,'targetIdsAbsent':'unconfirmed',..._0xd3ce4},'warnings':[_0x4844e2(0x1a2)],'verification':{'status':_0x4844e2(0x1f3),'lookupCommand':_0x4844e2(0x1a0),'targetIds':_0x1db603}});}if(_0x2d956e[_0x4844e2(0x1f9)][_0x4844e2(0x1bf)]>0x0){const _0x1eea3d=menuError(_0x4844e2(0x1df),_0x4844e2(0x1b6)+_0x2d956e[_0x4844e2(0x1f9)]['join'](',\x20')+'.',_0x4844e2(0x1b8));throw menuFailure(_0x1eea3d,_0xb2c9ff,{'stage':_0x4844e2(0x1e4),'succeeded':_0x1db603['map'](_0x3f6a31=>({'id':_0x3f6a31,'deleteRequested':!![]})),'failed':{'id':_0x1cf30c,'targetIds':_0x1db603,'absentIds':_0x2d956e[_0x4844e2(0x1b2)],'remainingIds':_0x2d956e[_0x4844e2(0x1f9)]},'warnings':['The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.'],'verification':verificationFromOutcome(_0x2d956e)});}const _0x29961e=_0x1db603[_0x4844e2(0x195)](_0xbb2375=>({'id':_0xbb2375,'deleted':!![]})),_0x5e30d5=mutationResult({..._0xb2c9ff,'dryRun':![],'succeeded':_0x29961e,'verification':{'checkedBy':_0x4844e2(0x1b0),'plannedSnapshotHash':_0xb2c9ff[_0x4844e2(0x1c5)],'finalSnapshotHash':_0x2d956e[_0x4844e2(0x202)][_0x4844e2(0x1be)],'reportedDeletedCount':_0x37bbcf,'targetAbsent':!_0x2d956e[_0x4844e2(0x202)][_0x4844e2(0x1d2)][_0x4844e2(0x204)](_0x1cf30c),'allTargetsAbsent':!![],'targetIds':_0x1db603}});return{'ok':!![],'data':_0x5e30d5,'message':_0x4844e2(0x1b3)+_0x29961e[_0x4844e2(0x1bf)]+'\x20menu(s)\x20under\x20exact\x20id\x20'+_0x1cf30c+'.'};}};async function readDeleteOutcome(_0x5411db,_0x12c625){const _0x49687f=a108_0x581223,_0x596528=await fetchMenuSnapshot(_0x5411db['appCode'],_0x5411db[_0x49687f(0x1d6)]);return{'snapshot':_0x596528,'absentIds':_0x12c625[_0x49687f(0x1db)](_0x409f2f=>!_0x596528[_0x49687f(0x1d2)][_0x49687f(0x204)](_0x409f2f)),'remainingIds':_0x12c625[_0x49687f(0x1db)](_0x43e7ba=>_0x596528[_0x49687f(0x1d2)][_0x49687f(0x204)](_0x43e7ba))};}function verificationFromOutcome(_0x283772){const _0x10174d=a108_0x581223;return{'checkedBy':_0x10174d(0x1b0),'absentIds':_0x283772['absentIds'],'remainingIds':_0x283772[_0x10174d(0x1f9)]};}function validateDeleteDryRunInput(_0xf78ed4){const _0x47d842=a108_0x581223;validateExactId(_0xf78ed4);if(!hasFlag(_0xf78ed4,_0x47d842(0x1bb))||!_0xf78ed4[_0x47d842(0x1d5)]('plan-out')[_0x47d842(0x1a6)]())throw CliErrors[_0x47d842(0x1aa)](_0x47d842(0x1bb),_0x47d842(0x1a9));if(hasFlag(_0xf78ed4,'plan'))throw CliErrors[_0x47d842(0x19c)](_0x47d842(0x1cb));}function validateDeleteExecuteInput(_0x180871){const _0x25de63=a108_0x581223;if(!hasFlag(_0x180871,_0x25de63(0x208))||!_0x180871['str'](_0x25de63(0x208))[_0x25de63(0x1a6)]())throw CliErrors[_0x25de63(0x1aa)](_0x25de63(0x208),'--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.');const _0x15ff01=['id',_0x25de63(0x1da),_0x25de63(0x1bb),_0x25de63(0x192),_0x25de63(0x203),'expected-children-count']['filter'](_0x4cd5f0=>hasFlag(_0x180871,_0x4cd5f0));if(_0x15ff01['length']>0x0)throw CliErrors['validation'](_0x25de63(0x1a5)+_0x15ff01[_0x25de63(0x195)](_0x15a01d=>'--'+_0x15a01d)[_0x25de63(0x1fd)](',\x20')+'.');}async function buildDeletePlan(_0x2e5d0b){const _0x443dad=a108_0x581223,_0x50077a=validateExactId(_0x2e5d0b),_0x212463=await fetchMutationSnapshot(_0x2e5d0b,_0x443dad(0x1fc),_0x50077a),_0x542268=requireMenu(_0x212463,_0x50077a);assertExpectedState(_0x2e5d0b,_0x542268);const _0x4ebdb1=_0x2e5d0b['bool']('recursive');let _0x13a8ed;if(_0x4ebdb1){if(_0x542268[_0x443dad(0x1a1)]['trim']()[_0x443dad(0x209)]()!=='folder')throw menuError(_0x443dad(0x1af),'Menu\x20'+_0x542268['id']+_0x443dad(0x1d7)+(_0x542268[_0x443dad(0x1a1)]||_0x443dad(0x20c))+_0x443dad(0x205));_0x13a8ed=collectDeleteTargets(_0x212463,_0x542268),_0x13a8ed[_0x443dad(0x1e7)](_0x4062ca=>assertDeleteSafety(_0x4062ca,!![]));}else assertDeleteSafety(_0x542268),_0x13a8ed=[_0x542268];assertNoSharedPages(_0x212463,_0x13a8ed);const _0x50a817=_0x13a8ed[_0x443dad(0x195)](_0x484b77=>_0x484b77['id']),_0xe60f00=cascadeForTargets(_0x13a8ed),_0x96fe80=_0xe60f00[_0x443dad(0x199)][_0x443dad(0x1bf)]>0x0?[_0x443dad(0x1e2)]:[];return mutationResult({'operation':'delete','selector':{'id':_0x50077a,'recursive':_0x4ebdb1},'before':_0x542268,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':'batch-delete-menu','method':'POST','path':'/smartapi/menu/batchDelete','body':{'idList':_0x50a817}}],'targets':_0x13a8ed,'deleteOrder':_0x50a817,'snapshotHash':_0x212463['hash'],'cascade':_0xe60f00,'warnings':_0x96fe80});}function assertDeleteSafety(_0x8a8c44,_0x360e2e=![]){const _0x2fcbc3=a108_0x581223,_0x55abea=_0x8a8c44[_0x2fcbc3(0x1a1)][_0x2fcbc3(0x1a6)]()[_0x2fcbc3(0x209)]()===_0x2fcbc3(0x1c2);if(_0x8a8c44[_0x2fcbc3(0x19b)]>0x0&&(!_0x360e2e||!_0x55abea))throw menuError('menu_non_empty','Menu\x20'+_0x8a8c44['id']+_0x2fcbc3(0x191)+_0x8a8c44['childrenCount']+_0x2fcbc3(0x1f5),_0x2fcbc3(0x1b5)+_0x8a8c44['childrenIds']['join'](',\x20'));if(_0x55abea&&_0x8a8c44[_0x2fcbc3(0x1de)]!=null)throw menuError('menu_delete_page_bound',_0x2fcbc3(0x1c3)+_0x8a8c44['id']+_0x2fcbc3(0x190)+_0x8a8c44[_0x2fcbc3(0x1de)]+_0x2fcbc3(0x1ab),_0x2fcbc3(0x1ac));if(!_0x55abea)return;if(!_0x8a8c44[_0x2fcbc3(0x206)])throw menuError(_0x2fcbc3(0x1d9),_0x2fcbc3(0x1c3)+_0x8a8c44['id']+_0x2fcbc3(0x1cd),_0x2fcbc3(0x1a8));if(_0x8a8c44['resources'][_0x2fcbc3(0x1bf)]>0x0)throw menuError('menu_folder_has_resources','Folder\x20'+_0x8a8c44['id']+_0x2fcbc3(0x1e8)+_0x8a8c44[_0x2fcbc3(0x1c0)][_0x2fcbc3(0x1bf)]+_0x2fcbc3(0x1f2),_0x2fcbc3(0x1eb));}function collectDeleteTargets(_0x1bece3,_0x3096dc){const _0x57f35d=[],_0x154c84=new Set(),_0xf3c1f3=new Set(),_0x39f332=_0x21b10a=>{const _0x3c95f0=a108_0x41c3;if(_0x154c84[_0x3c95f0(0x204)](_0x21b10a['id']))throw menuError('menu_tree_invalid',_0x3c95f0(0x1ee)+_0x21b10a['id']+'.');if(_0xf3c1f3[_0x3c95f0(0x204)](_0x21b10a['id']))return;_0x154c84[_0x3c95f0(0x1d1)](_0x21b10a['id']);for(const _0x137fd6 of _0x21b10a[_0x3c95f0(0x18c)]){const _0x2eb673=_0x1bece3[_0x3c95f0(0x1d2)]['get'](_0x137fd6);if(!_0x2eb673)throw menuError('menu_tree_invalid','Menu\x20'+_0x21b10a['id']+'\x20references\x20missing\x20child\x20'+_0x137fd6+'.');_0x39f332(_0x2eb673);}_0x154c84[_0x3c95f0(0x1d4)](_0x21b10a['id']),_0xf3c1f3['add'](_0x21b10a['id']),_0x57f35d[_0x3c95f0(0x1c1)](_0x21b10a);};return _0x39f332(_0x3096dc),_0x57f35d;}function assertDeleteTargetsComplete(_0x5dc611,_0x15a780){const _0x50f0cc=a108_0x581223,_0x1ec693=requireMenu(_0x15a780,_0x5dc611[_0x50f0cc(0x1ea)]['id']);if(_0x5dc611[_0x50f0cc(0x1da)]&&_0x1ec693[_0x50f0cc(0x1a1)][_0x50f0cc(0x1a6)]()[_0x50f0cc(0x209)]()!=='folder')throw menuError('menu_plan_invalid',_0x50f0cc(0x1d8)+_0x1ec693['id']+_0x50f0cc(0x1f8));const _0x1e042b=_0x5dc611[_0x50f0cc(0x1da)]?collectDeleteTargets(_0x15a780,_0x1ec693)[_0x50f0cc(0x195)](_0x3b1235=>_0x3b1235['id']):[_0x1ec693['id']];if(JSON[_0x50f0cc(0x1fa)](_0x5dc611[_0x50f0cc(0x196)])!==JSON[_0x50f0cc(0x1fa)](_0x1e042b))throw menuError(_0x50f0cc(0x1d3),_0x50f0cc(0x18f),'Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.');}function assertNoSharedPages(_0x55737e,_0x4b1ca5){const _0x24c96b=a108_0x581223,_0x55536f=new Set(_0x4b1ca5['map'](_0x27c8d3=>_0x27c8d3['id'])),_0x25207d=new Set(_0x4b1ca5[_0x24c96b(0x195)](_0x7d4e01=>_0x7d4e01[_0x24c96b(0x1de)])[_0x24c96b(0x1db)](_0x310c48=>_0x310c48!=null));if(_0x25207d[_0x24c96b(0x197)]===0x0)return;const _0x4e63dc=_0x55737e[_0x24c96b(0x20b)][_0x24c96b(0x1db)](_0x4f917e=>!_0x55536f[_0x24c96b(0x204)](_0x4f917e['id'])&&_0x4f917e['pageId']!=null&&_0x25207d[_0x24c96b(0x204)](_0x4f917e[_0x24c96b(0x1de)]));if(_0x4e63dc['length']===0x0)return;const _0x5dfc48=_0x4e63dc[_0x24c96b(0x195)](_0x134840=>_0x24c96b(0x18d)+_0x134840[_0x24c96b(0x1de)]+_0x24c96b(0x19a)+_0x134840['id'])[_0x24c96b(0x1fd)](',\x20');throw menuError(_0x24c96b(0x1d0),_0x24c96b(0x1c7)+_0x5dfc48+'.',_0x24c96b(0x1f6));}function assertCascadeMatchesPlan(_0x5cc5d7,_0x26dcd7){const _0x29b67f=a108_0x581223,_0x1fdefa=cascadeForTargets(_0x26dcd7);if(JSON[_0x29b67f(0x1fa)](_0x5cc5d7['cascade'])!==JSON['stringify'](_0x1fdefa))throw menuError('menu_plan_invalid',_0x29b67f(0x1fb));}function cascadeForTargets(_0x231824){const _0x1a1336=a108_0x581223,_0x172ac9=_0x231824[_0x1a1336(0x195)](_0x542dce=>_0x542dce[_0x1a1336(0x1de)])[_0x1a1336(0x1db)](_0x3711a5=>_0x3711a5!=null)['filter']((_0x20b8a9,_0x504e13,_0x5b08fc)=>_0x5b08fc[_0x1a1336(0x1a7)](_0x20b8a9)===_0x504e13);return{'pages':_0x172ac9,'pageSchemaAffected':_0x172ac9[_0x1a1336(0x1bf)]>0x0};}function asMenuError(_0x51fb7b){const _0x17d9cd=a108_0x581223;return _0x51fb7b instanceof CliError?_0x51fb7b:menuError(_0x17d9cd(0x1d3),_0x51fb7b instanceof Error?_0x51fb7b[_0x17d9cd(0x193)]:String(_0x51fb7b));}function a108_0x596e(){const _0x44db13=['plan-out','plan-validation','causeCode','hash','length','resources','push','folder','Folder\x20','Would\x20batch\x20delete\x20','snapshotHash','dry-run','Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20','unconfirmed','70662mScFQz','22kOVlgW','--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.','Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file','\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.','Post-mismatch\x20menu\x20readback\x20failed\x20(','batch-delete','menu_page_shared','add','byId','menu_plan_invalid','delete','str','cookie','\x20is\x20type\x20\x22','Recursive\x20menu\x20delete\x20plan\x20root\x20','menu_folder_resources_invalid','recursive','filter','12111200UNRHyu','POST','pageId','menu_verification_failed','string','expiresAt','Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.','causeMessage','verification','Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out','9GQuRMa','forEach','\x20still\x20references\x20','483xxVPpg','target','Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.','47814rSJXyX','6IHFGbK','Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20','The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.','execute\x20reviewed\x20delete\x20plan','verify\x20batch\x20delete','\x20resource\x20URL(s).','failed','selector','\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.',';\x20execution\x20must\x20consume\x20','\x20is\x20not\x20a\x20folder.','remainingIds','stringify','Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.','plan\x20delete','join','):\x20','path','Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first','2982664fknwlA','snapshot','expect-path','has','\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.','resourcesValid','pre-write-plan-validation','plan','toLowerCase','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence','menus','unknown','Batch\x20delete\x20request\x20for\x20menu\x20','childrenIds','page\x20','\x20menu(s)\x20under\x20exact\x20id\x20','Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.','\x20is\x20unexpectedly\x20bound\x20to\x20page\x20','\x20has\x20','expect-parent-id','message','31228967vyCpqD','map','deleteOrder','size','high-risk-write','pages','\x20->\x20menu\x20','childrenCount','validation','Backend\x20reported\x20','boolean','bool','rabetbase\x20menu\x20list\x20--format\x20json','type','The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','createdAt','Post-failure\x20menu\x20readback\x20failed\x20(','Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20','trim','indexOf','Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.','--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.','flagMissing','\x20and\x20cannot\x20be\x20deleted\x20safely.','Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.','2239175PgDGfQ','menu','menu_recursive_requires_folder','menu\x20list','batch\x20delete','absentIds','Deleted\x20','2390072HNsAOB','Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20','One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20','menu_batch_delete_count_mismatch','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','appCode','/smartapi/menu/batchDelete'];a108_0x596e=function(){return _0x44db13;};return a108_0x596e();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a109_0x429820=a109_0x75f7;(function(_0x47954f,_0x1cda9a){const _0x32a118=a109_0x75f7,_0x27f949=_0x47954f();while(!![]){try{const _0x36c363=-parseInt(_0x32a118(0x201))/0x1+-parseInt(_0x32a118(0x21e))/0x2+parseInt(_0x32a118(0x239))/0x3*(-parseInt(_0x32a118(0x1de))/0x4)+-parseInt(_0x32a118(0x1f2))/0x5*(-parseInt(_0x32a118(0x1d6))/0x6)+parseInt(_0x32a118(0x1d9))/0x7*(parseInt(_0x32a118(0x255))/0x8)+parseInt(_0x32a118(0x203))/0x9+-parseInt(_0x32a118(0x221))/0xa*(-parseInt(_0x32a118(0x227))/0xb);if(_0x36c363===_0x1cda9a)break;else _0x27f949['push'](_0x27f949['shift']());}catch(_0x2ec7e5){_0x27f949['push'](_0x27f949['shift']());}}}(a109_0x1869,0x500e0));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a109_0x1869(){const _0x15ae07=['The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','parent-id','Would\x20create\x20external\x20website\x20link\x20menu\x20','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','new-window','length','create-recovery','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','username','<platform-generated>','url','object','\x20after\x20response\x20loss.','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','Menu\x20','afterPlan','Created\x20menu\x20','lookupCommand','5huftTe','<redacted>','replace','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','menu_sort_invalid','code','hash','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','data','Recovered\x20menu\x20','External\x20menu\x20creation\x20failed.','isSafeInteger','651172DgvxYN','byId','3397878yfBmFq','type','body','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','menu_create_response_invalid','path','How\x20to\x20open\x20the\x20external\x20website','sort','\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.','\x20has\x20an\x20unexpected\x20generated\x20path.','createdId','Menu\x20label','rabetbase\x20menu\x20list\x20--appcode\x20','str','menu_url_credentials_forbidden','menu_parent_not_folder','prototype','\x27\x5c\x27\x27','visibility','\x20failed\x20final\x20verification.','pre-write-recheck','snapshot','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','plannedActions','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','860564CqBgHL','label','menu_mutation_failed','10WaqPbh','add','trim','menu','isArray','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','2964302MIvkVP','toLowerCase','https:','external-link-create','parent','POST','Whether\x20the\x20menu\x20is\x20visible','External\x20HTTPS\x20URL','has','fact','menu_state_drift','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','expectedPath','Recovered\x20created\x20external\x20menu\x20','visible','parentId','verification','cookie','87mqcihj','string','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','\x20--format\x20compress','rawerror','before','Run\x20','stringify','failed','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','plan','menu_not_found','Created\x20external\x20menu\x20','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','link','includes','menu_permission_denied','bool','causemessage','readbackerror','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','after','succeeded','/smartapi/menu/create','currentSnapshotHash','rawFlags','open-mode','167208wYvPJW','menu_create_recovery_required','create\x20external\x20menu','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','map','expectedSnapshotHash','filter','menu\x20list','2261274NGAQNb','\x20with\x20','menu_verification_failed','189RUJVee','menus','get','menu_url_invalid','iframe','24672RanSxl','appCode'];a109_0x1869=function(){return _0x15ae07;};return a109_0x1869();}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':a109_0x429820(0x1dd),'new-window':a109_0x429820(0x247)};export function validateExternalMenuUrl(_0x16538c){const _0x35391c=a109_0x429820,_0x5865d2=_0x16538c['trim']();let _0x1cfcdb;try{_0x1cfcdb=new URL(_0x5865d2);}catch{throw menuError(_0x35391c(0x1dc),'External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.',_0x35391c(0x232));}if(_0x1cfcdb['protocol']!==_0x35391c(0x229))throw menuError('menu_url_https_required','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','Provide\x20an\x20HTTPS\x20URL.');if(_0x1cfcdb[_0x35391c(0x1e8)]||_0x1cfcdb['password'])throw menuError(_0x35391c(0x211),_0x35391c(0x21c),_0x35391c(0x24e));return _0x5865d2;}function a109_0x75f7(_0x2a966d,_0x1f884b){_0x2a966d=_0x2a966d-0x1d2;const _0x186910=a109_0x1869();let _0x75f738=_0x186910[_0x2a966d];return _0x75f738;}export const menuExternalLinkCreate={'service':a109_0x429820(0x224),'command':a109_0x429820(0x22a),'description':'Create\x20an\x20external\x20website\x20link\x20menu','risk':'write','structuredErrors':!![],'flags':[{'name':a109_0x429820(0x21f),'type':a109_0x429820(0x23a),'required':!![],'description':a109_0x429820(0x20e)},{'name':a109_0x429820(0x254),'type':'string','required':!![],'enum':['embedded',a109_0x429820(0x1e4)],'description':a109_0x429820(0x209)},{'name':'url','type':a109_0x429820(0x23a),'required':!![],'description':a109_0x429820(0x22e)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a109_0x429820(0x235),'type':'boolean','default':!![],'description':a109_0x429820(0x22d)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x42b1d1){validateAddInput(_0x42b1d1);},async 'dryRun'(_0x1fbfc0){const _0x1ec4cf=a109_0x429820;validateAddInput(_0x1fbfc0);const {plan:_0x1d9867}=await buildSafeAddPlan(_0x1fbfc0,!![]),_0x4ff3a1=_0x1d9867[_0x1ec4cf(0x24f)],_0x26321=createBody(_0x4ff3a1);return menuDryRunResult(_0x1d9867,{'method':_0x1ec4cf(0x22c),'url':_0x1ec4cf(0x251),'body':_0x26321,'description':_0x1ec4cf(0x1e2)+JSON[_0x1ec4cf(0x240)](_0x4ff3a1[_0x1ec4cf(0x21f)])+_0x1ec4cf(0x1d7)+_0x1fbfc0[_0x1ec4cf(0x210)](_0x1ec4cf(0x254))+_0x1ec4cf(0x1f7)});},async 'execute'(_0xcdcd06){const _0x4078f1=a109_0x429820;validateAddInput(_0xcdcd06);const _0x95ef32=await buildSafeAddPlan(_0xcdcd06,![]),{plan:_0x46f08f,snapshot:_0x2832d4}=_0x95ef32,_0x575092=_0x46f08f[_0x4078f1(0x24f)],_0x3f996d=buildMenuLookupCommand(_0xcdcd06[_0x4078f1(0x1df)]);await recheckAddSnapshot(_0xcdcd06,_0x46f08f);let _0x2233d3;try{_0x2233d3=await createMenuEntity(_0xcdcd06['appCode'],_0xcdcd06['cookie'],createBody(_0x575092));}catch(_0xd28fc3){const _0x153b0f=mapMenuApiError(_0xd28fc3,_0x4078f1(0x257));if(!isMenuResponseLoss(_0xd28fc3)||_0x153b0f[_0x4078f1(0x1f9)]===_0x4078f1(0x249))throw externalLinkCreateFailure(_0x153b0f,_0x46f08f,{'stage':'create','failed':{},'verification':{'status':_0x4078f1(0x241),'lookupCommand':_0x3f996d}});return recoverAfterResponseLoss(_0xcdcd06,_0x95ef32,_0x3f996d);}const _0x69be02=Number(_0x2233d3?.['id']),_0x5e031d=typeof _0x2233d3?.[_0x4078f1(0x208)]==='string'?_0x2233d3[_0x4078f1(0x208)]:'';if(!Number[_0x4078f1(0x200)](_0x69be02)||_0x69be02<=0x0||!_0x5e031d['trim']()){const _0x3c39d2=menuError(_0x4078f1(0x207),_0x4078f1(0x21a),'Run\x20'+_0x3f996d+'\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.');throw externalLinkCreateFailure(_0x3c39d2,_0x46f08f,{'stage':'create-response-validation','succeeded':Number[_0x4078f1(0x200)](_0x69be02)&&_0x69be02>0x0?[{'id':_0x69be02,'created':!![]}]:[],'failed':{'createdId':Number[_0x4078f1(0x200)](_0x69be02)?_0x69be02:null,'generatedPathConfirmed':Boolean(_0x5e031d[_0x4078f1(0x223)]())},'warnings':[_0x4078f1(0x1e0)],'after':Number[_0x4078f1(0x200)](_0x69be02)&&_0x69be02>0x0?{..._0x575092,'id':_0x69be02,'path':_0x5e031d}:_0x575092,'verification':{'status':_0x4078f1(0x241),'lookupCommand':_0x3f996d,...Number['isSafeInteger'](_0x69be02)&&_0x69be02>0x0?{'targetId':_0x69be02}:{}}});}const _0x133e77=await readAndVerifyCreatedMenu({'appCode':_0xcdcd06[_0x4078f1(0x1df)],'cookie':_0xcdcd06[_0x4078f1(0x238)],'plan':_0x46f08f,'afterPlan':_0x575092,'createdId':_0x69be02,'expectedPath':_0x5e031d,'lookupCommand':_0x3f996d,'recovered':![]});return creationSuccess(_0x46f08f,_0x133e77[_0x4078f1(0x218)],_0x133e77[_0x4078f1(0x230)],![]);}};function validateAddInput(_0x525568){const _0x113b48=a109_0x429820;if(!_0x525568[_0x113b48(0x210)](_0x113b48(0x21f))[_0x113b48(0x223)]())throw CliErrors['flagMissing'](_0x113b48(0x21f));resolveExternalMenuType(_0x525568),validateExternalMenuUrl(_0x525568[_0x113b48(0x210)]('url')),parseParentId(_0x525568,_0x113b48(0x1e1)),validateSort(_0x525568);}function resolveExternalMenuType(_0x51fc8b){const _0x2b36bd=a109_0x429820,_0x2e0651=_0x51fc8b[_0x2b36bd(0x210)]('open-mode')[_0x2b36bd(0x223)]();if(!_0x2e0651)throw CliErrors['flagMissing'](_0x2b36bd(0x254));const _0x3cf0ff=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x2e0651];if(!_0x3cf0ff)throw menuError('menu_open_mode_invalid','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.',_0x2b36bd(0x1fc));return _0x3cf0ff;}async function buildAddPlan(_0x4f4f79,_0x35cab2){const _0x26fa3b=a109_0x429820,_0x234d45=await fetchMutationSnapshot(_0x4f4f79,_0x26fa3b(0x257)),_0x36ad91=parseParentId(_0x4f4f79,_0x26fa3b(0x1e1))??null;if(_0x36ad91!=null)requireFolder(_0x234d45,_0x36ad91);const _0x2dad00=validateSort(_0x4f4f79),_0x365a82=_0x2dad00??nextSiblingSort(_0x234d45,_0x36ad91,_0x26fa3b(0x224)),_0xc118c5=_0x4f4f79['str'](_0x26fa3b(0x21f))[_0x26fa3b(0x223)](),_0x3fb9a8=resolveExternalMenuType(_0x4f4f79),_0x1286e2=validateExternalMenuUrl(_0x4f4f79['str'](_0x26fa3b(0x1ea))),_0x482996=Object[_0x26fa3b(0x213)]['hasOwnProperty']['call'](_0x4f4f79[_0x26fa3b(0x253)],_0x26fa3b(0x235))?_0x4f4f79[_0x26fa3b(0x24a)](_0x26fa3b(0x235)):!![],_0x4a2f8c={'id':null,'parentId':_0x36ad91,'label':_0xc118c5,'path':_0x26fa3b(0x1e9),'url':_0x1286e2,'type':_0x3fb9a8,'visible':_0x482996,'sort':_0x365a82},_0x38de8e=buildMenuLookupCommand(_0x4f4f79[_0x26fa3b(0x1df)]),_0xcbca49=mutationResult({'operation':_0x26fa3b(0x222),'selector':{'parentId':_0x36ad91,'type':_0x3fb9a8,'label':_0xc118c5,'url':_0x1286e2},'before':null,'after':_0x4a2f8c,'dryRun':_0x35cab2,'backend':[{'method':_0x26fa3b(0x22c),'path':'/smartapi/menu/create'}],'plannedActions':[{'stage':'create-menu','method':_0x26fa3b(0x22c),'path':_0x26fa3b(0x251),'body':createBody(_0x4a2f8c)}],'snapshotHash':_0x234d45[_0x26fa3b(0x1fa)],'warnings':['The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.'],'verification':{'lookupCommand':_0x38de8e}});return{'plan':_0xcbca49,'snapshot':_0x234d45};}async function buildSafeAddPlan(_0x29e4fa,_0x3c0d79){try{return await buildAddPlan(_0x29e4fa,_0x3c0d79);}catch(_0x3bc9cf){throw safeMenuAddError(_0x3bc9cf);}}async function recheckAddSnapshot(_0x4c5a2a,_0x341d8c){const _0x1ff30a=a109_0x429820;try{await recheckMutationSnapshot(_0x4c5a2a,_0x341d8c,_0x1ff30a(0x257));}catch(_0x54579b){const _0xbd3555=getFailureRecord(_0x54579b);throw externalLinkCreateFailure(_0x54579b,_0x341d8c,{'stage':_0x1ff30a(0x217),'failed':{..._0xbd3555?.[_0x1ff30a(0x1d3)]?{'expectedSnapshotHash':_0xbd3555[_0x1ff30a(0x1d3)]}:{},..._0xbd3555?.[_0x1ff30a(0x252)]?{'currentSnapshotHash':_0xbd3555[_0x1ff30a(0x252)]}:{}}});}}function createBody(_0x1ae5f9){const _0x37e61c=a109_0x429820;return{'parentId':toApiParentId(_0x1ae5f9[_0x37e61c(0x236)]),'label':String(_0x1ae5f9[_0x37e61c(0x21f)]),'type':String(_0x1ae5f9[_0x37e61c(0x204)]),'url':String(_0x1ae5f9[_0x37e61c(0x1ea)]),'visible':Boolean(_0x1ae5f9[_0x37e61c(0x235)]),'sort':Number(_0x1ae5f9[_0x37e61c(0x20a)]),'extend':{}};}function buildMenuLookupCommand(_0x4559e6){const _0x349ef1=a109_0x429820,_0x13c4d8='\x27'+_0x4559e6['replace'](/'/g,_0x349ef1(0x214))+'\x27';return _0x349ef1(0x20f)+_0x13c4d8+_0x349ef1(0x23c);}async function recoverAfterResponseLoss(_0x20f880,_0x1bc9af,_0x2718fb){const _0x1eb2ed=a109_0x429820,{plan:_0x11bfe3,snapshot:_0x3d1f5b}=_0x1bc9af,_0x4dfc09=_0x11bfe3[_0x1eb2ed(0x24f)];let _0x95caff;try{_0x95caff=await fetchMenuSnapshot(_0x20f880['appCode'],_0x20f880[_0x1eb2ed(0x238)]);}catch(_0x3095b9){throw recoveryRequiredFailure(_0x11bfe3,_0x2718fb,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x4305d3=_0x95caff[_0x1eb2ed(0x1da)]['filter'](_0x42831d=>_0x42831d['parentId']===_0x4dfc09[_0x1eb2ed(0x236)]&&_0x42831d[_0x1eb2ed(0x204)]===_0x4dfc09['type']&&_0x42831d[_0x1eb2ed(0x21f)]===_0x4dfc09['label']&&_0x42831d[_0x1eb2ed(0x1ea)]===_0x4dfc09[_0x1eb2ed(0x1ea)]),_0x845eae=_0x4305d3[_0x1eb2ed(0x1d4)](_0xc78c02=>!_0x3d1f5b[_0x1eb2ed(0x202)][_0x1eb2ed(0x22f)](_0xc78c02['id'])),_0x30610e=_0x4305d3[_0x1eb2ed(0x1d4)](_0x129d36=>_0x3d1f5b[_0x1eb2ed(0x202)][_0x1eb2ed(0x22f)](_0x129d36['id']));if(_0x4305d3[_0x1eb2ed(0x1e5)]!==0x1||_0x845eae[_0x1eb2ed(0x1e5)]!==0x1)throw recoveryRequiredFailure(_0x11bfe3,_0x2718fb,{'matchCount':_0x4305d3[_0x1eb2ed(0x1e5)],'newMatchCount':_0x845eae[_0x1eb2ed(0x1e5)],'preexistingMatchCount':_0x30610e[_0x1eb2ed(0x1e5)]});const _0x5b9ed2=_0x845eae[0x0];try{verifyCreatedFact(_0x5b9ed2,_0x5b9ed2['id'],_0x4dfc09,null);}catch(_0x222970){const _0x35f2ea=_0x222970 instanceof Error&&_0x1eb2ed(0x1f9)in _0x222970?_0x222970:menuError(_0x1eb2ed(0x1d8),_0x1eb2ed(0x1fe)+_0x5b9ed2['id']+'\x20could\x20not\x20be\x20verified.',_0x1eb2ed(0x23f)+_0x2718fb+'\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x35f2ea,_0x11bfe3,{'stage':_0x1eb2ed(0x237),'succeeded':[{'id':_0x5b9ed2['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x5b9ed2['id'],'finalFactsConfirmed':![]},'after':_0x5b9ed2,'warnings':[_0x1eb2ed(0x1ee)+_0x5b9ed2['id']+_0x1eb2ed(0x1e7)],'verification':{'status':_0x1eb2ed(0x241),'targetId':_0x5b9ed2['id'],'recovered':!![],'lookupCommand':_0x2718fb}});}return creationSuccess(_0x11bfe3,_0x95caff,_0x5b9ed2,!![]);}function recoveryRequiredFailure(_0x444b7f,_0xa81b0,_0x174333){const _0x581b8a=a109_0x429820,_0x4723c4=menuError(_0x581b8a(0x256),_0x581b8a(0x246),_0x581b8a(0x23f)+_0xa81b0+'\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.');return externalLinkCreateFailure(_0x4723c4,_0x444b7f,{'stage':_0x581b8a(0x1e6),'failed':_0x174333,'warnings':[_0x581b8a(0x242)],'verification':{'status':_0x581b8a(0x241),..._0x174333,'lookupCommand':_0xa81b0}});}async function readAndVerifyCreatedMenu(_0x11e04e){const _0x37e134=a109_0x429820;let _0x39e14e;try{_0x39e14e=await fetchMenuSnapshot(_0x11e04e['appCode'],_0x11e04e[_0x37e134(0x238)]);}catch(_0x9cbbcd){const _0x2d0342=menuError(_0x37e134(0x1d8),_0x37e134(0x1ee)+_0x11e04e[_0x37e134(0x20d)]+_0x37e134(0x1e3),_0x37e134(0x23f)+_0x11e04e[_0x37e134(0x1f1)]+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x2d0342,_0x11e04e['plan'],{'stage':_0x37e134(0x237),'succeeded':[{'id':_0x11e04e[_0x37e134(0x20d)],'created':!![]}],'failed':{'id':_0x11e04e[_0x37e134(0x20d)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x11e04e[_0x37e134(0x1ef)],'id':_0x11e04e[_0x37e134(0x20d)],'path':_0x11e04e[_0x37e134(0x233)]},'warnings':['Menu\x20'+_0x11e04e[_0x37e134(0x20d)]+'\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.'],'verification':{'status':'failed','targetId':_0x11e04e['createdId'],'lookupCommand':_0x11e04e[_0x37e134(0x1f1)]}});}const _0x15fea1=_0x39e14e[_0x37e134(0x202)][_0x37e134(0x1db)](_0x11e04e[_0x37e134(0x20d)]);try{if(!_0x15fea1)throw menuError(_0x37e134(0x1d8),_0x37e134(0x1f0)+_0x11e04e[_0x37e134(0x20d)]+_0x37e134(0x23b),_0x37e134(0x23f)+_0x11e04e['lookupCommand']+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');verifyCreatedFact(_0x15fea1,_0x11e04e[_0x37e134(0x20d)],_0x11e04e[_0x37e134(0x1ef)],_0x11e04e[_0x37e134(0x233)]);}catch(_0x299cdc){const _0x37a83f=_0x299cdc instanceof Error&&'code'in _0x299cdc?_0x299cdc:menuError(_0x37e134(0x1d8),_0x37e134(0x1f0)+_0x11e04e[_0x37e134(0x20d)]+_0x37e134(0x216),_0x37e134(0x23f)+_0x11e04e[_0x37e134(0x1f1)]+_0x37e134(0x219));throw externalLinkCreateFailure(_0x37a83f,_0x11e04e[_0x37e134(0x243)],{'stage':'verification','succeeded':[{'id':_0x11e04e['createdId'],'created':!![]}],'failed':{'id':_0x11e04e[_0x37e134(0x20d)],'finalFactsConfirmed':![]},'after':_0x15fea1??{..._0x11e04e['afterPlan'],'id':_0x11e04e['createdId'],'path':_0x11e04e[_0x37e134(0x233)]},'warnings':[_0x37e134(0x1ee)+_0x11e04e[_0x37e134(0x20d)]+_0x37e134(0x20b)],'verification':{'status':'failed','targetId':_0x11e04e[_0x37e134(0x20d)],'recovered':_0x11e04e['recovered'],'lookupCommand':_0x11e04e['lookupCommand']}});}return{'snapshot':_0x39e14e,'fact':_0x15fea1};}function verifyCreatedFact(_0x4915dc,_0x1604a5,_0x3d7fcf,_0x34e115){const _0x2d2840=a109_0x429820;if(!Number['isSafeInteger'](_0x4915dc['id'])||_0x4915dc['id']<=0x0||_0x4915dc['id']!==_0x1604a5)throw menuError(_0x2d2840(0x1d8),'Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.',_0x2d2840(0x1fb));const _0x1b624d=[[_0x2d2840(0x22b),_0x4915dc[_0x2d2840(0x236)],_0x3d7fcf[_0x2d2840(0x236)]],['type',_0x4915dc[_0x2d2840(0x204)],_0x3d7fcf[_0x2d2840(0x204)]],[_0x2d2840(0x21f),_0x4915dc[_0x2d2840(0x21f)],_0x3d7fcf[_0x2d2840(0x21f)]],['URL',_0x4915dc[_0x2d2840(0x1ea)],_0x3d7fcf['url']],[_0x2d2840(0x215),_0x4915dc[_0x2d2840(0x235)],_0x3d7fcf[_0x2d2840(0x235)]],[_0x2d2840(0x20a),_0x4915dc[_0x2d2840(0x20a)],_0x3d7fcf[_0x2d2840(0x20a)]]];for(const [_0x28211d,_0x1a687a,_0x3bedaf]of _0x1b624d){if(_0x1a687a!==_0x3bedaf)throw menuError(_0x2d2840(0x1d8),'Created\x20menu\x20'+_0x4915dc['id']+'\x20has\x20an\x20unexpected\x20'+_0x28211d+'.',_0x2d2840(0x259));}if(!_0x4915dc[_0x2d2840(0x208)][_0x2d2840(0x223)]()||_0x34e115!==null&&_0x4915dc[_0x2d2840(0x208)]!==_0x34e115)throw menuError('menu_verification_failed','Created\x20menu\x20'+_0x4915dc['id']+_0x2d2840(0x20c),_0x2d2840(0x259));}function creationSuccess(_0x2496ac,_0x4eb08d,_0x5d9f55,_0x516fd1){const _0x1faeab=a109_0x429820,_0xa8f8ac=mutationResult({..._0x2496ac,'after':_0x5d9f55,'dryRun':![],'succeeded':[{'id':_0x5d9f55['id'],'created':!![],'recovered':_0x516fd1}],'verification':{'checkedBy':_0x1faeab(0x1d5),'snapshotHash':_0x4eb08d[_0x1faeab(0x1fa)],'targetId':_0x5d9f55['id'],'recovered':_0x516fd1,'path':_0x5d9f55[_0x1faeab(0x208)]}});return{'ok':!![],'message':_0x516fd1?_0x1faeab(0x234)+_0x5d9f55['id']+_0x1faeab(0x1ec):_0x1faeab(0x245)+_0x5d9f55['id']+'.','data':{..._0xa8f8ac,'recovered':_0x516fd1}};}function externalLinkCreateFailure(_0x3834da,_0x4b7614,_0x31e545){const _0x46b193=a109_0x429820;return menuFailure(safeMenuAddError(_0x3834da),redactFailurePlan(_0x4b7614),{..._0x31e545,'succeeded':_0x31e545[_0x46b193(0x250)]?.[_0x46b193(0x1d2)](redactFailureRecord),'failed':_0x31e545[_0x46b193(0x241)]?redactFailureRecord(_0x31e545[_0x46b193(0x241)]):undefined,'verification':_0x31e545[_0x46b193(0x237)]?redactFailureRecord(_0x31e545['verification']):undefined,'after':_0x31e545[_0x46b193(0x24f)]===undefined?undefined:redactFailureValue(_0x31e545[_0x46b193(0x24f)])});}function redactFailurePlan(_0xe42d66){const _0x3e75c2=a109_0x429820;return{..._0xe42d66,'selector':redactFailureRecord(_0xe42d66['selector']),'before':redactFailureValue(_0xe42d66[_0x3e75c2(0x23e)]),'after':redactFailureValue(_0xe42d66[_0x3e75c2(0x24f)]),'plannedActions':_0xe42d66[_0x3e75c2(0x21b)]?.[_0x3e75c2(0x1d2)](_0x22b54b=>({..._0x22b54b,'body':redactFailureRecord(_0x22b54b[_0x3e75c2(0x205)])})),'succeeded':_0xe42d66[_0x3e75c2(0x250)][_0x3e75c2(0x1d2)](redactFailureRecord),'failed':_0xe42d66[_0x3e75c2(0x241)]['map'](redactFailureRecord),'verification':_0xe42d66[_0x3e75c2(0x237)]?redactFailureRecord(_0xe42d66[_0x3e75c2(0x237)]):undefined};}function redactFailureRecord(_0x2a27fa){return redactFailureValue(_0x2a27fa);}function redactFailureValue(_0x3f623e,_0x1841bd=''){const _0x2e2088=a109_0x429820,_0x4726da=_0x1841bd[_0x2e2088(0x228)]()[_0x2e2088(0x1f4)](/[^a-z0-9]/g,'');if(['cause',_0x2e2088(0x24b),_0x2e2088(0x24c),_0x2e2088(0x23d)][_0x2e2088(0x248)](_0x4726da))return _0x2e2088(0x1f3);if(Array[_0x2e2088(0x225)](_0x3f623e))return _0x3f623e[_0x2e2088(0x1d2)](_0x5a51b5=>redactFailureValue(_0x5a51b5));if(_0x3f623e&&typeof _0x3f623e==='object')return Object['fromEntries'](Object['entries'](_0x3f623e)[_0x2e2088(0x1d2)](([_0x1ac93d,_0x4068b8])=>[_0x1ac93d,redactFailureValue(_0x4068b8,_0x1ac93d)]));return _0x3f623e;}function safeMenuAddError(_0x11f805){const _0x4f2650=a109_0x429820,_0x226175=_0x11f805 instanceof CliError?_0x11f805[_0x4f2650(0x1f9)]:'menu_mutation_failed';switch(_0x226175){case _0x4f2650(0x231):return menuError(_0x226175,'Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.',_0x4f2650(0x21d));case _0x4f2650(0x249):return menuError(_0x226175,_0x4f2650(0x1ed),_0x4f2650(0x24d));case _0x4f2650(0x207):return menuError(_0x226175,_0x4f2650(0x1f6),_0x4f2650(0x226));case _0x4f2650(0x1d8):return menuError(_0x226175,_0x4f2650(0x1f5),_0x4f2650(0x226));case _0x4f2650(0x256):return menuError(_0x226175,'The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.',_0x4f2650(0x258));case'menu_mutation_failed':case _0x4f2650(0x244):case _0x4f2650(0x212):case _0x4f2650(0x1f8):case'menu_sort_overflow':return menuError(_0x226175,'External\x20menu\x20creation\x20failed.',_0x4f2650(0x206));default:return menuError(_0x4f2650(0x220),_0x4f2650(0x1ff),_0x4f2650(0x206));}}function getFailureRecord(_0x4dc44f){const _0x40bc7c=a109_0x429820;if(!(_0x4dc44f instanceof Error)||!(_0x40bc7c(0x1fd)in _0x4dc44f))return undefined;const _0x4f8104=_0x4dc44f[_0x40bc7c(0x1fd)];if(!_0x4f8104||typeof _0x4f8104!==_0x40bc7c(0x1eb))return undefined;const _0x5adeb2=_0x4f8104[_0x40bc7c(0x241)];if(!Array[_0x40bc7c(0x225)](_0x5adeb2)||!_0x5adeb2[0x0]||typeof _0x5adeb2[0x0]!==_0x40bc7c(0x1eb))return undefined;return _0x5adeb2[0x0];}
|
|
1
|
+
const a109_0x92f9be=a109_0x3937;(function(_0x288f58,_0x5b6ee7){const _0x508596=a109_0x3937,_0x4f13a9=_0x288f58();while(!![]){try{const _0x43f31c=parseInt(_0x508596(0x154))/0x1*(-parseInt(_0x508596(0x142))/0x2)+-parseInt(_0x508596(0x143))/0x3*(parseInt(_0x508596(0xd8))/0x4)+parseInt(_0x508596(0x115))/0x5*(parseInt(_0x508596(0xcf))/0x6)+parseInt(_0x508596(0x113))/0x7*(parseInt(_0x508596(0x14b))/0x8)+parseInt(_0x508596(0xca))/0x9*(-parseInt(_0x508596(0xe7))/0xa)+-parseInt(_0x508596(0x13f))/0xb*(parseInt(_0x508596(0x155))/0xc)+-parseInt(_0x508596(0x100))/0xd*(-parseInt(_0x508596(0xe6))/0xe);if(_0x43f31c===_0x5b6ee7)break;else _0x4f13a9['push'](_0x4f13a9['shift']());}catch(_0x5c9c14){_0x4f13a9['push'](_0x4f13a9['shift']());}}}(a109_0x4511,0xe57d0));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':a109_0x92f9be(0x14e),'new-window':a109_0x92f9be(0xcb)};function a109_0x3937(_0x15995e,_0x2f7fe2){_0x15995e=_0x15995e-0xc6;const _0x4511cc=a109_0x4511();let _0x393728=_0x4511cc[_0x15995e];return _0x393728;}export function validateExternalMenuUrl(_0xa5a6c0){const _0x220a90=a109_0x92f9be,_0x37a0d3=_0xa5a6c0['trim']();let _0x273160;try{_0x273160=new URL(_0x37a0d3);}catch{throw menuError(_0x220a90(0xea),'External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.',_0x220a90(0xd9));}if(_0x273160[_0x220a90(0xf3)]!==_0x220a90(0xf1))throw menuError('menu_url_https_required',_0x220a90(0x102),_0x220a90(0x12d));if(_0x273160[_0x220a90(0xeb)]||_0x273160[_0x220a90(0xe8)])throw menuError(_0x220a90(0x14c),_0x220a90(0x105),_0x220a90(0x141));return _0x37a0d3;}function a109_0x4511(){const _0x5e5f9a=['menu_create_recovery_required','create\x20external\x20menu','menu\x20list','prototype','1809ZdpVbP','6156owZVAH','plan','trim','menu_sort_invalid','fact','object','url','str','External\x20menu\x20creation\x20failed.','readbackerror','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','succeeded','recovered','type','length','sort','6651dlEufy','link','How\x20to\x20open\x20the\x20external\x20website','rawFlags','path','42PvWAqZ','\x20--format\x20compress','menu_permission_denied','/smartapi/menu/create','replace','plannedActions','Menu\x20','boolean','rabetbase\x20menu\x20list\x20--appcode\x20','52uqMxGd','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','failed','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','menu_verification_failed','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','causemessage','call','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','open-mode','after','\x20has\x20an\x20unexpected\x20','\x20with\x20','parent','14KhvaLe','3940NVcyUT','password','verification','menu_url_invalid','username','fromEntries','external-link-create','create-recovery','Whether\x20the\x20menu\x20is\x20visible','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','https:','The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','protocol','menu_mutation_failed','visible','selector','map','menu_open_mode_invalid','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','entries','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','Recovered\x20menu\x20','\x20has\x20an\x20unexpected\x20generated\x20path.','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','Create\x20an\x20external\x20website\x20link\x20menu','14027767KPsroA','createdId','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','isArray','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','create','cause','Created\x20menu\x20','Recovered\x20created\x20external\x20menu\x20','parent-id','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','afterPlan','snapshot','stringify','create-response-validation','cookie','7tXXcCw','write','851735TTtvGg','create-menu','menu_create_response_invalid','hash','hasOwnProperty','toLowerCase','string','menu_sort_overflow','<redacted>','currentSnapshotHash','label','\x20after\x20response\x20loss.','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','External\x20HTTPS\x20URL','POST','\x20failed\x20final\x20verification.','data','Would\x20create\x20external\x20website\x20link\x20menu\x20','get','embedded','new-window','\x20could\x20not\x20be\x20verified.','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','includes','Provide\x20an\x20HTTPS\x20URL.','add','menu_not_found','Run\x20','parentId','has','lookupCommand','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','isSafeInteger','\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.','\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','filter','expectedSnapshotHash','menu_parent_not_folder','Created\x20external\x20menu\x20','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','expectedPath','18007RPaegU','byId','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','1082AYFHbl','211587IQYcmK','appCode','menu','<platform-generated>','code','pre-write-recheck','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.','13559912IrExNM','menu_url_credentials_forbidden','Menu\x20label','iframe','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.'];a109_0x4511=function(){return _0x5e5f9a;};return a109_0x4511();}export const menuExternalLinkCreate={'service':a109_0x92f9be(0x145),'command':a109_0x92f9be(0xed),'description':a109_0x92f9be(0xff),'risk':a109_0x92f9be(0x114),'structuredErrors':!![],'flags':[{'name':a109_0x92f9be(0x11f),'type':a109_0x92f9be(0x11b),'required':!![],'description':a109_0x92f9be(0x14d)},{'name':a109_0x92f9be(0xe1),'type':a109_0x92f9be(0x11b),'required':!![],'enum':[a109_0x92f9be(0x128),a109_0x92f9be(0x129)],'description':a109_0x92f9be(0xcc)},{'name':a109_0x92f9be(0x15b),'type':a109_0x92f9be(0x11b),'required':!![],'description':a109_0x92f9be(0x122)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':'visible','type':a109_0x92f9be(0xd6),'default':!![],'description':a109_0x92f9be(0xef)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x5eaf7f){validateAddInput(_0x5eaf7f);},async 'dryRun'(_0x18e4f5){const _0x446171=a109_0x92f9be;validateAddInput(_0x18e4f5);const {plan:_0x1a1b40}=await buildSafeAddPlan(_0x18e4f5,!![]),_0x22bd65=_0x1a1b40[_0x446171(0xe2)],_0x137f36=createBody(_0x22bd65);return menuDryRunResult(_0x1a1b40,{'method':_0x446171(0x123),'url':'/smartapi/menu/create','body':_0x137f36,'description':_0x446171(0x126)+JSON[_0x446171(0x110)](_0x22bd65[_0x446171(0x11f)])+_0x446171(0xe4)+_0x18e4f5[_0x446171(0x15c)]('open-mode')+'\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.'});},async 'execute'(_0x285b23){const _0x21cc81=a109_0x92f9be;validateAddInput(_0x285b23);const _0x3f5718=await buildSafeAddPlan(_0x285b23,![]),{plan:_0x483194,snapshot:_0x8eb5c7}=_0x3f5718,_0x405454=_0x483194[_0x21cc81(0xe2)],_0x584c2a=buildMenuLookupCommand(_0x285b23[_0x21cc81(0x144)]);await recheckAddSnapshot(_0x285b23,_0x483194);let _0x510a3a;try{_0x510a3a=await createMenuEntity(_0x285b23[_0x21cc81(0x144)],_0x285b23['cookie'],createBody(_0x405454));}catch(_0x3b6c15){const _0x1c2c89=mapMenuApiError(_0x3b6c15,_0x21cc81(0x151));if(!isMenuResponseLoss(_0x3b6c15)||_0x1c2c89[_0x21cc81(0x147)]==='menu_permission_denied')throw externalLinkCreateFailure(_0x1c2c89,_0x483194,{'stage':_0x21cc81(0x106),'failed':{},'verification':{'status':_0x21cc81(0xda),'lookupCommand':_0x584c2a}});return recoverAfterResponseLoss(_0x285b23,_0x3f5718,_0x584c2a);}const _0x2f8c12=Number(_0x510a3a?.['id']),_0x198f19=typeof _0x510a3a?.[_0x21cc81(0xce)]==='string'?_0x510a3a[_0x21cc81(0xce)]:'';if(!Number[_0x21cc81(0x135)](_0x2f8c12)||_0x2f8c12<=0x0||!_0x198f19[_0x21cc81(0x157)]()){const _0xf8ccb3=menuError(_0x21cc81(0x117),_0x21cc81(0xf0),_0x21cc81(0x130)+_0x584c2a+'\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.');throw externalLinkCreateFailure(_0xf8ccb3,_0x483194,{'stage':_0x21cc81(0x111),'succeeded':Number['isSafeInteger'](_0x2f8c12)&&_0x2f8c12>0x0?[{'id':_0x2f8c12,'created':!![]}]:[],'failed':{'createdId':Number[_0x21cc81(0x135)](_0x2f8c12)?_0x2f8c12:null,'generatedPathConfirmed':Boolean(_0x198f19[_0x21cc81(0x157)]())},'warnings':[_0x21cc81(0x149)],'after':Number[_0x21cc81(0x135)](_0x2f8c12)&&_0x2f8c12>0x0?{..._0x405454,'id':_0x2f8c12,'path':_0x198f19}:_0x405454,'verification':{'status':_0x21cc81(0xda),'lookupCommand':_0x584c2a,...Number['isSafeInteger'](_0x2f8c12)&&_0x2f8c12>0x0?{'targetId':_0x2f8c12}:{}}});}const _0x2c1a0b=await readAndVerifyCreatedMenu({'appCode':_0x285b23['appCode'],'cookie':_0x285b23['cookie'],'plan':_0x483194,'afterPlan':_0x405454,'createdId':_0x2f8c12,'expectedPath':_0x198f19,'lookupCommand':_0x584c2a,'recovered':![]});return creationSuccess(_0x483194,_0x2c1a0b[_0x21cc81(0x10f)],_0x2c1a0b[_0x21cc81(0x159)],![]);}};function validateAddInput(_0x486dc5){const _0x2bd272=a109_0x92f9be;if(!_0x486dc5[_0x2bd272(0x15c)](_0x2bd272(0x11f))[_0x2bd272(0x157)]())throw CliErrors['flagMissing'](_0x2bd272(0x11f));resolveExternalMenuType(_0x486dc5),validateExternalMenuUrl(_0x486dc5[_0x2bd272(0x15c)](_0x2bd272(0x15b))),parseParentId(_0x486dc5,_0x2bd272(0x10a)),validateSort(_0x486dc5);}function resolveExternalMenuType(_0x45bd26){const _0x1105dc=a109_0x92f9be,_0x1771b1=_0x45bd26[_0x1105dc(0x15c)](_0x1105dc(0xe1))[_0x1105dc(0x157)]();if(!_0x1771b1)throw CliErrors['flagMissing'](_0x1105dc(0xe1));const _0x11ba0e=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x1771b1];if(!_0x11ba0e)throw menuError(_0x1105dc(0xf8),'--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.',_0x1105dc(0xfe));return _0x11ba0e;}async function buildAddPlan(_0x57ca56,_0x119889){const _0x1102df=a109_0x92f9be,_0x4c4fe4=await fetchMutationSnapshot(_0x57ca56,_0x1102df(0x151)),_0x55c41c=parseParentId(_0x57ca56,_0x1102df(0x10a))??null;if(_0x55c41c!=null)requireFolder(_0x4c4fe4,_0x55c41c);const _0x88589e=validateSort(_0x57ca56),_0x29bec8=_0x88589e??nextSiblingSort(_0x4c4fe4,_0x55c41c,_0x1102df(0x145)),_0x42f952=_0x57ca56['str'](_0x1102df(0x11f))[_0x1102df(0x157)](),_0x158d91=resolveExternalMenuType(_0x57ca56),_0xf29948=validateExternalMenuUrl(_0x57ca56[_0x1102df(0x15c)](_0x1102df(0x15b))),_0x24e0cf=Object[_0x1102df(0x153)][_0x1102df(0x119)][_0x1102df(0xdf)](_0x57ca56[_0x1102df(0xcd)],_0x1102df(0xf5))?_0x57ca56['bool'](_0x1102df(0xf5)):!![],_0x3dea93={'id':null,'parentId':_0x55c41c,'label':_0x42f952,'path':_0x1102df(0x146),'url':_0xf29948,'type':_0x158d91,'visible':_0x24e0cf,'sort':_0x29bec8},_0x117f67=buildMenuLookupCommand(_0x57ca56[_0x1102df(0x144)]),_0xed61df=mutationResult({'operation':_0x1102df(0x12e),'selector':{'parentId':_0x55c41c,'type':_0x158d91,'label':_0x42f952,'url':_0xf29948},'before':null,'after':_0x3dea93,'dryRun':_0x119889,'backend':[{'method':'POST','path':_0x1102df(0xd2)}],'plannedActions':[{'stage':_0x1102df(0x116),'method':_0x1102df(0x123),'path':_0x1102df(0xd2),'body':createBody(_0x3dea93)}],'snapshotHash':_0x4c4fe4[_0x1102df(0x118)],'warnings':[_0x1102df(0x103)],'verification':{'lookupCommand':_0x117f67}});return{'plan':_0xed61df,'snapshot':_0x4c4fe4};}async function buildSafeAddPlan(_0x22f408,_0x2f638a){try{return await buildAddPlan(_0x22f408,_0x2f638a);}catch(_0x58a79e){throw safeMenuAddError(_0x58a79e);}}async function recheckAddSnapshot(_0x1e49c0,_0x3015c8){const _0x50f707=a109_0x92f9be;try{await recheckMutationSnapshot(_0x1e49c0,_0x3015c8,_0x50f707(0x151));}catch(_0x169002){const _0x4ccbf3=getFailureRecord(_0x169002);throw externalLinkCreateFailure(_0x169002,_0x3015c8,{'stage':_0x50f707(0x148),'failed':{..._0x4ccbf3?.[_0x50f707(0x13a)]?{'expectedSnapshotHash':_0x4ccbf3[_0x50f707(0x13a)]}:{},..._0x4ccbf3?.[_0x50f707(0x11e)]?{'currentSnapshotHash':_0x4ccbf3[_0x50f707(0x11e)]}:{}}});}}function createBody(_0x483e24){const _0x288a82=a109_0x92f9be;return{'parentId':toApiParentId(_0x483e24[_0x288a82(0x131)]),'label':String(_0x483e24[_0x288a82(0x11f)]),'type':String(_0x483e24[_0x288a82(0xc7)]),'url':String(_0x483e24[_0x288a82(0x15b)]),'visible':Boolean(_0x483e24['visible']),'sort':Number(_0x483e24[_0x288a82(0xc9)]),'extend':{}};}function buildMenuLookupCommand(_0x29cd0c){const _0x4aaa86=a109_0x92f9be,_0x42af1e='\x27'+_0x29cd0c[_0x4aaa86(0xd3)](/'/g,'\x27\x5c\x27\x27')+'\x27';return _0x4aaa86(0xd7)+_0x42af1e+_0x4aaa86(0xd0);}async function recoverAfterResponseLoss(_0x5b18fb,_0x2edea8,_0x66b044){const _0xe913a3=a109_0x92f9be,{plan:_0x341814,snapshot:_0x33e8f7}=_0x2edea8,_0xbc674a=_0x341814['after'];let _0x4ff25b;try{_0x4ff25b=await fetchMenuSnapshot(_0x5b18fb[_0xe913a3(0x144)],_0x5b18fb['cookie']);}catch(_0x554a0f){throw recoveryRequiredFailure(_0x341814,_0x66b044,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x20dd04=_0x4ff25b['menus']['filter'](_0x5da119=>_0x5da119[_0xe913a3(0x131)]===_0xbc674a[_0xe913a3(0x131)]&&_0x5da119[_0xe913a3(0xc7)]===_0xbc674a[_0xe913a3(0xc7)]&&_0x5da119[_0xe913a3(0x11f)]===_0xbc674a[_0xe913a3(0x11f)]&&_0x5da119[_0xe913a3(0x15b)]===_0xbc674a[_0xe913a3(0x15b)]),_0x1955b8=_0x20dd04[_0xe913a3(0x139)](_0x320848=>!_0x33e8f7[_0xe913a3(0x140)][_0xe913a3(0x132)](_0x320848['id'])),_0x52a58e=_0x20dd04['filter'](_0x2be21d=>_0x33e8f7['byId'][_0xe913a3(0x132)](_0x2be21d['id']));if(_0x20dd04[_0xe913a3(0xc8)]!==0x1||_0x1955b8[_0xe913a3(0xc8)]!==0x1)throw recoveryRequiredFailure(_0x341814,_0x66b044,{'matchCount':_0x20dd04[_0xe913a3(0xc8)],'newMatchCount':_0x1955b8['length'],'preexistingMatchCount':_0x52a58e['length']});const _0x8c8505=_0x1955b8[0x0];try{verifyCreatedFact(_0x8c8505,_0x8c8505['id'],_0xbc674a,null);}catch(_0x39e83d){const _0x423ad3=_0x39e83d instanceof Error&&_0xe913a3(0x147)in _0x39e83d?_0x39e83d:menuError(_0xe913a3(0xdc),_0xe913a3(0xfc)+_0x8c8505['id']+_0xe913a3(0x12a),'Run\x20'+_0x66b044+_0xe913a3(0xfb));throw externalLinkCreateFailure(_0x423ad3,_0x341814,{'stage':_0xe913a3(0xe9),'succeeded':[{'id':_0x8c8505['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x8c8505['id'],'finalFactsConfirmed':![]},'after':_0x8c8505,'warnings':[_0xe913a3(0xd5)+_0x8c8505['id']+'\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.'],'verification':{'status':_0xe913a3(0xda),'targetId':_0x8c8505['id'],'recovered':!![],'lookupCommand':_0x66b044}});}return creationSuccess(_0x341814,_0x4ff25b,_0x8c8505,!![]);}function recoveryRequiredFailure(_0x4b438d,_0x57fa16,_0x3e2097){const _0x39b31a=a109_0x92f9be,_0x5585d8=menuError(_0x39b31a(0x150),_0x39b31a(0x12b),_0x39b31a(0x130)+_0x57fa16+_0x39b31a(0x137));return externalLinkCreateFailure(_0x5585d8,_0x4b438d,{'stage':_0x39b31a(0xee),'failed':_0x3e2097,'warnings':[_0x39b31a(0x134)],'verification':{'status':_0x39b31a(0xda),..._0x3e2097,'lookupCommand':_0x57fa16}});}async function readAndVerifyCreatedMenu(_0x24a760){const _0x5d5448=a109_0x92f9be;let _0x1bfba0;try{_0x1bfba0=await fetchMenuSnapshot(_0x24a760['appCode'],_0x24a760[_0x5d5448(0x112)]);}catch(_0x31a173){const _0x5f0dbf=menuError(_0x5d5448(0xdc),_0x5d5448(0xd5)+_0x24a760[_0x5d5448(0x101)]+'\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','Run\x20'+_0x24a760[_0x5d5448(0x133)]+_0x5d5448(0x121));throw externalLinkCreateFailure(_0x5f0dbf,_0x24a760[_0x5d5448(0x156)],{'stage':_0x5d5448(0xe9),'succeeded':[{'id':_0x24a760[_0x5d5448(0x101)],'created':!![]}],'failed':{'id':_0x24a760['createdId'],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x24a760['afterPlan'],'id':_0x24a760[_0x5d5448(0x101)],'path':_0x24a760[_0x5d5448(0x13e)]},'warnings':[_0x5d5448(0xd5)+_0x24a760[_0x5d5448(0x101)]+_0x5d5448(0x14a)],'verification':{'status':_0x5d5448(0xda),'targetId':_0x24a760[_0x5d5448(0x101)],'lookupCommand':_0x24a760[_0x5d5448(0x133)]}});}const _0x3ec12f=_0x1bfba0[_0x5d5448(0x140)][_0x5d5448(0x127)](_0x24a760[_0x5d5448(0x101)]);try{if(!_0x3ec12f)throw menuError(_0x5d5448(0xdc),'Created\x20menu\x20'+_0x24a760[_0x5d5448(0x101)]+_0x5d5448(0x10b),_0x5d5448(0x130)+_0x24a760['lookupCommand']+_0x5d5448(0x121));verifyCreatedFact(_0x3ec12f,_0x24a760[_0x5d5448(0x101)],_0x24a760[_0x5d5448(0x10e)],_0x24a760['expectedPath']);}catch(_0x5ba727){const _0x312a6f=_0x5ba727 instanceof Error&&_0x5d5448(0x147)in _0x5ba727?_0x5ba727:menuError('menu_verification_failed',_0x5d5448(0x108)+_0x24a760['createdId']+_0x5d5448(0x124),_0x5d5448(0x130)+_0x24a760[_0x5d5448(0x133)]+_0x5d5448(0x121));throw externalLinkCreateFailure(_0x312a6f,_0x24a760[_0x5d5448(0x156)],{'stage':_0x5d5448(0xe9),'succeeded':[{'id':_0x24a760['createdId'],'created':!![]}],'failed':{'id':_0x24a760[_0x5d5448(0x101)],'finalFactsConfirmed':![]},'after':_0x3ec12f??{..._0x24a760[_0x5d5448(0x10e)],'id':_0x24a760['createdId'],'path':_0x24a760[_0x5d5448(0x13e)]},'warnings':[_0x5d5448(0xd5)+_0x24a760[_0x5d5448(0x101)]+_0x5d5448(0x136)],'verification':{'status':_0x5d5448(0xda),'targetId':_0x24a760[_0x5d5448(0x101)],'recovered':_0x24a760[_0x5d5448(0xc6)],'lookupCommand':_0x24a760[_0x5d5448(0x133)]}});}return{'snapshot':_0x1bfba0,'fact':_0x3ec12f};}function verifyCreatedFact(_0x23d243,_0x22fd53,_0x44b5e9,_0x57e9d8){const _0x3966f0=a109_0x92f9be;if(!Number[_0x3966f0(0x135)](_0x23d243['id'])||_0x23d243['id']<=0x0||_0x23d243['id']!==_0x22fd53)throw menuError(_0x3966f0(0xdc),_0x3966f0(0xdb),_0x3966f0(0x13d));const _0x1a7eab=[[_0x3966f0(0xe5),_0x23d243[_0x3966f0(0x131)],_0x44b5e9[_0x3966f0(0x131)]],['type',_0x23d243[_0x3966f0(0xc7)],_0x44b5e9[_0x3966f0(0xc7)]],[_0x3966f0(0x11f),_0x23d243[_0x3966f0(0x11f)],_0x44b5e9[_0x3966f0(0x11f)]],['URL',_0x23d243[_0x3966f0(0x15b)],_0x44b5e9[_0x3966f0(0x15b)]],['visibility',_0x23d243[_0x3966f0(0xf5)],_0x44b5e9[_0x3966f0(0xf5)]],[_0x3966f0(0xc9),_0x23d243['sort'],_0x44b5e9[_0x3966f0(0xc9)]]];for(const [_0x331637,_0x26edf8,_0xa7c38d]of _0x1a7eab){if(_0x26edf8!==_0xa7c38d)throw menuError(_0x3966f0(0xdc),_0x3966f0(0x108)+_0x23d243['id']+_0x3966f0(0xe3)+_0x331637+'.',_0x3966f0(0xe0));}if(!_0x23d243[_0x3966f0(0xce)]['trim']()||_0x57e9d8!==null&&_0x23d243['path']!==_0x57e9d8)throw menuError(_0x3966f0(0xdc),'Created\x20menu\x20'+_0x23d243['id']+_0x3966f0(0xfd),'Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.');}function creationSuccess(_0x5831da,_0x1c26cf,_0x3b17d8,_0x2aec8e){const _0x29a1e1=a109_0x92f9be,_0x561447=mutationResult({..._0x5831da,'after':_0x3b17d8,'dryRun':![],'succeeded':[{'id':_0x3b17d8['id'],'created':!![],'recovered':_0x2aec8e}],'verification':{'checkedBy':_0x29a1e1(0x152),'snapshotHash':_0x1c26cf['hash'],'targetId':_0x3b17d8['id'],'recovered':_0x2aec8e,'path':_0x3b17d8[_0x29a1e1(0xce)]}});return{'ok':!![],'message':_0x2aec8e?_0x29a1e1(0x109)+_0x3b17d8['id']+_0x29a1e1(0x120):_0x29a1e1(0x13c)+_0x3b17d8['id']+'.','data':{..._0x561447,'recovered':_0x2aec8e}};}function externalLinkCreateFailure(_0x1e26a5,_0x58b8b6,_0x3a7584){const _0x17ccd3=a109_0x92f9be;return menuFailure(safeMenuAddError(_0x1e26a5),redactFailurePlan(_0x58b8b6),{..._0x3a7584,'succeeded':_0x3a7584[_0x17ccd3(0x160)]?.[_0x17ccd3(0xf7)](redactFailureRecord),'failed':_0x3a7584['failed']?redactFailureRecord(_0x3a7584[_0x17ccd3(0xda)]):undefined,'verification':_0x3a7584[_0x17ccd3(0xe9)]?redactFailureRecord(_0x3a7584['verification']):undefined,'after':_0x3a7584[_0x17ccd3(0xe2)]===undefined?undefined:redactFailureValue(_0x3a7584['after'])});}function redactFailurePlan(_0x5dd1fc){const _0x25b62e=a109_0x92f9be;return{..._0x5dd1fc,'selector':redactFailureRecord(_0x5dd1fc[_0x25b62e(0xf6)]),'before':redactFailureValue(_0x5dd1fc['before']),'after':redactFailureValue(_0x5dd1fc[_0x25b62e(0xe2)]),'plannedActions':_0x5dd1fc[_0x25b62e(0xd4)]?.['map'](_0x1681ab=>({..._0x1681ab,'body':redactFailureRecord(_0x1681ab['body'])})),'succeeded':_0x5dd1fc['succeeded'][_0x25b62e(0xf7)](redactFailureRecord),'failed':_0x5dd1fc[_0x25b62e(0xda)][_0x25b62e(0xf7)](redactFailureRecord),'verification':_0x5dd1fc['verification']?redactFailureRecord(_0x5dd1fc[_0x25b62e(0xe9)]):undefined};}function redactFailureRecord(_0x5b285a){return redactFailureValue(_0x5b285a);}function redactFailureValue(_0x33b3fc,_0x337d31=''){const _0x497e35=a109_0x92f9be,_0x5d1f67=_0x337d31[_0x497e35(0x11a)]()[_0x497e35(0xd3)](/[^a-z0-9]/g,'');if([_0x497e35(0x107),_0x497e35(0xde),_0x497e35(0x15e),'rawerror'][_0x497e35(0x12c)](_0x5d1f67))return _0x497e35(0x11d);if(Array[_0x497e35(0x104)](_0x33b3fc))return _0x33b3fc[_0x497e35(0xf7)](_0x257a89=>redactFailureValue(_0x257a89));if(_0x33b3fc&&typeof _0x33b3fc===_0x497e35(0x15a))return Object[_0x497e35(0xec)](Object[_0x497e35(0xfa)](_0x33b3fc)[_0x497e35(0xf7)](([_0xffab77,_0xf6549c])=>[_0xffab77,redactFailureValue(_0xf6549c,_0xffab77)]));return _0x33b3fc;}function safeMenuAddError(_0x1b7b62){const _0xb6442d=a109_0x92f9be,_0xb7df79=_0x1b7b62 instanceof CliError?_0x1b7b62[_0xb6442d(0x147)]:_0xb6442d(0xf4);switch(_0xb7df79){case'menu_state_drift':return menuError(_0xb7df79,_0xb6442d(0x14f),_0xb6442d(0x15f));case _0xb6442d(0xd1):return menuError(_0xb7df79,_0xb6442d(0xf9),'Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.');case _0xb6442d(0x117):return menuError(_0xb7df79,_0xb6442d(0x10c),'Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.');case _0xb6442d(0xdc):return menuError(_0xb7df79,'Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.',_0xb6442d(0xdd));case _0xb6442d(0x150):return menuError(_0xb7df79,_0xb6442d(0xf2),_0xb6442d(0x138));case _0xb6442d(0xf4):case _0xb6442d(0x12f):case _0xb6442d(0x13b):case _0xb6442d(0x158):case _0xb6442d(0x11c):return menuError(_0xb7df79,_0xb6442d(0x15d),_0xb6442d(0x10d));default:return menuError(_0xb6442d(0xf4),_0xb6442d(0x15d),_0xb6442d(0x10d));}}function getFailureRecord(_0xe42fe6){const _0x2fb102=a109_0x92f9be;if(!(_0xe42fe6 instanceof Error)||!(_0x2fb102(0x125)in _0xe42fe6))return undefined;const _0x41fc96=_0xe42fe6[_0x2fb102(0x125)];if(!_0x41fc96||typeof _0x41fc96!=='object')return undefined;const _0x2b42fd=_0x41fc96[_0x2fb102(0xda)];if(!Array[_0x2fb102(0x104)](_0x2b42fd)||!_0x2b42fd[0x0]||typeof _0x2b42fd[0x0]!==_0x2fb102(0x15a))return undefined;return _0x2b42fd[0x0];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a110_0x3e1cec=a110_0x2a10;(function(_0x368946,_0x533480){const _0x47705c=a110_0x2a10,_0x5771ca=_0x368946();while(!![]){try{const _0x16d9a6=-parseInt(_0x47705c(0x191))/0x1+parseInt(_0x47705c(0x189))/0x2*(-parseInt(_0x47705c(0x1af))/0x3)+parseInt(_0x47705c(0x170))/0x4*(parseInt(_0x47705c(0x17a))/0x5)+-parseInt(_0x47705c(0x1ab))/0x6+parseInt(_0x47705c(0x17c))/0x7+-parseInt(_0x47705c(0x1bc))/0x8*(-parseInt(_0x47705c(0x1b3))/0x9)+parseInt(_0x47705c(0x17b))/0xa*(parseInt(_0x47705c(0x1a6))/0xb);if(_0x16d9a6===_0x533480)break;else _0x5771ca['push'](_0x5771ca['shift']());}catch(_0x5d00f2){_0x5771ca['push'](_0x5771ca['shift']());}}}(a110_0x3f9e,0xe4e24));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{validateExternalMenuUrl}from'../../commands/menu/external-link-create.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,hasFlag,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,parseParentId,recheckMutationSnapshot,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';function a110_0x3f9e(){const _0x104e69=['Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','\x20URL\x20update\x20did\x20not\x20take\x20effect.','verification','path','Updated\x20external\x20URL\x20for\x20menu\x20','iframe','195046dEobVV','unknown','body','menu_state_drift','label','verify\x20external\x20menu\x20URL\x20update','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','external-link-update','1869064IkuwVd','update-recovery','update\x20external\x20menu\x20URL','Update\x20request\x20for\x20menu\x20','\x20has\x20','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','update','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','str','visible','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','string','expect-url','high-risk-write','expect-parent-id','flagMissing','appCode','New\x20external\x20HTTPS\x20URL','menu_permission_denied','11ogkkmL','\x20has\x20an\x20empty\x20platform\x20path.','\x27\x5c\x27\x27','update-external-link-url','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','5947764SivDnk','\x20changed\x20during\x20the\x20URL-only\x20update.','/smartapi/menu/update','\x20--format\x20compress','12mDrTbI','sort','POST','\x20parent\x20changed:\x20expected\x20','9TsLRFy','parentId','url','\x20already\x20matches\x20the\x20requested\x20URL.','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','menu_external_link_path_missing','\x20is\x20type\x20\x22','readbackFailed','get','2821672rYOmEE','menu_update_recovery_required','\x22,\x20not\x20iframe\x20or\x20link.','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','\x20direct\x20child\x20menu(s).','Menu\x20','requestedUrlObserved','byId','4PDAhjy','Response\x20was\x20lost\x20and\x20menu\x20','cookie','\x20could\x20not\x20be\x20verified\x20safely','menu_external_link_type_required','code','trim','link','childrenCount','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','8803905gAARPT','15799870WYNEWN','3461367eabFfW','Run\x20','menu\x20list','plan','failed','hash','type'];a110_0x3f9e=function(){return _0x104e69;};return a110_0x3f9e();}import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a110_0x3e1cec(0x1b1),'path':a110_0x3e1cec(0x1ad)}];export const menuExternalLinkUpdate={'service':'menu','command':a110_0x3e1cec(0x190),'description':'Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','risk':a110_0x3e1cec(0x1a0),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a110_0x3e1cec(0x1b5),'type':'string','required':!![],'description':a110_0x3e1cec(0x1a4)},{'name':a110_0x3e1cec(0x19f),'type':a110_0x3e1cec(0x19e),'required':!![],'description':'Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed'},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x5636ff){validateInput(_0x5636ff),requireExplicitYes(_0x5636ff);},async 'dryRun'(_0x3ba1fd){const _0x491f79=a110_0x3e1cec;validateInput(_0x3ba1fd);const _0x276913=await buildPlan(_0x3ba1fd,!![]);return menuDryRunResult(_0x276913[_0x491f79(0x17f)],{'method':'POST','url':'/smartapi/menu/update','body':_0x276913[_0x491f79(0x18b)],'description':'Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20'+_0x276913[_0x491f79(0x18b)]['id']+'.'});},async 'execute'(_0x1e0784){const _0x178607=a110_0x3e1cec;validateInput(_0x1e0784),requireExplicitYes(_0x1e0784);const _0x34ad47=await buildPlan(_0x1e0784,![]),{plan:_0x99e758,body:_0x5d653f,before:_0xef5670,noChanges:_0x8e095f}=_0x34ad47,_0xd17375=_0x5d653f['id'];if(_0x8e095f)return updateSuccess(_0x99e758,_0x34ad47['snapshot'],_0xef5670,!![],![]);await recheckMutationSnapshot(_0x1e0784,_0x99e758,_0x178607(0x193),_0xd17375);try{await updateMenuEntity(_0x1e0784[_0x178607(0x1a3)],_0x1e0784[_0x178607(0x172)],{'id':_0x5d653f['id'],'url':_0x5d653f[_0x178607(0x1b5)]});}catch(_0x1701ed){const _0x41251c=mapMenuApiError(_0x1701ed,_0x178607(0x193),_0xd17375);if(isMenuResponseLoss(_0x1701ed)&&_0x41251c[_0x178607(0x175)]!==_0x178607(0x1a5))return recoverAfterResponseLoss(_0x1e0784,_0x34ad47);throw menuFailure(_0x41251c,_0x99e758,{'stage':_0x178607(0x197),'failed':{'id':_0xd17375},'warnings':[_0x178607(0x1b7)],'verification':{'status':_0x178607(0x180),'targetId':_0xd17375,'lookupCommand':buildLookupCommand(_0x1e0784['appCode'])}});}let _0x491738,_0x109621;try{_0x491738=await fetchMenuSnapshot(_0x1e0784['appCode'],_0x1e0784['cookie']),_0x109621=requireMenu(_0x491738,_0xd17375),verifyUpdatedFact(_0xef5670,_0x109621,_0x5d653f[_0x178607(0x1b5)]);}catch(_0x3ec485){const _0x4228cb=describeMenuErrorCause(_0x3ec485,_0x178607(0x18e),_0xd17375),_0x5b7778=asVerificationError(_0x3ec485,_0x178607(0x194)+_0xd17375+_0x178607(0x1aa));throw menuFailure(_0x5b7778,_0x99e758,{'stage':_0x178607(0x185),'succeeded':[{'id':_0xd17375,'updateRequested':!![]}],'failed':{'id':_0xd17375,'requestedStateConfirmed':![],..._0x4228cb},'warnings':['The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':_0x178607(0x180),'targetId':_0xd17375,'lookupCommand':buildLookupCommand(_0x1e0784[_0x178607(0x1a3)])}});}return updateSuccess(_0x99e758,_0x491738,_0x109621,![],![]);}};function validateInput(_0x5d803e){const _0x2d6904=a110_0x3e1cec;validateExactId(_0x5d803e),requiredUrl(_0x5d803e,'url'),requiredExpectedUrl(_0x5d803e),parseParentId(_0x5d803e,_0x2d6904(0x1a1),{'required':!![]});}function a110_0x2a10(_0x1c3af2,_0x301f1c){_0x1c3af2=_0x1c3af2-0x16e;const _0x3f9ebf=a110_0x3f9e();let _0x2a104f=_0x3f9ebf[_0x1c3af2];return _0x2a104f;}function requiredUrl(_0x2a56d0,_0x58d54b){const _0x24158e=a110_0x3e1cec;if(!hasFlag(_0x2a56d0,_0x58d54b)||!_0x2a56d0[_0x24158e(0x19a)](_0x58d54b)[_0x24158e(0x176)]())throw CliErrors[_0x24158e(0x1a2)](_0x58d54b);return validateExternalMenuUrl(_0x2a56d0['str'](_0x58d54b));}function requiredExpectedUrl(_0x8341a9){const _0xbef2aa=a110_0x3e1cec;if(!hasFlag(_0x8341a9,_0xbef2aa(0x19f))||!_0x8341a9[_0xbef2aa(0x19a)](_0xbef2aa(0x19f))[_0xbef2aa(0x176)]())throw CliErrors[_0xbef2aa(0x1a2)]('expect-url');return _0x8341a9[_0xbef2aa(0x19a)](_0xbef2aa(0x19f))[_0xbef2aa(0x176)]();}async function buildPlan(_0x5ed44b,_0x25be0a){const _0x2132a3=a110_0x3e1cec,_0x24c8f1=validateExactId(_0x5ed44b),_0x435736=requiredUrl(_0x5ed44b,_0x2132a3(0x1b5)),_0x529ffa=requiredExpectedUrl(_0x5ed44b),_0x4ae1e2=parseParentId(_0x5ed44b,_0x2132a3(0x1a1),{'required':!![]}),_0x4a8b9a=await fetchMutationSnapshot(_0x5ed44b,'update\x20external\x20menu\x20URL',_0x24c8f1),_0x5c97e7=requireMenu(_0x4a8b9a,_0x24c8f1);assertExternalLinkLeaf(_0x5c97e7);if(_0x5c97e7[_0x2132a3(0x1b4)]!==_0x4ae1e2)throw menuError(_0x2132a3(0x18c),_0x2132a3(0x1c1)+_0x24c8f1+_0x2132a3(0x1b2)+formatParent(_0x4ae1e2)+',\x20current\x20'+formatParent(_0x5c97e7[_0x2132a3(0x1b4)])+'.',_0x2132a3(0x196));const _0x38beb4=_0x5c97e7[_0x2132a3(0x1b5)]===_0x435736;if(!_0x38beb4&&_0x5c97e7[_0x2132a3(0x1b5)]!==_0x529ffa)throw menuError(_0x2132a3(0x18c),'Menu\x20'+_0x24c8f1+'\x20URL\x20no\x20longer\x20matches\x20--expect-url.',_0x2132a3(0x199));const _0x22e552={'id':_0x24c8f1,'appCode':_0x5ed44b['appCode'],'url':_0x435736},_0x3e2428={..._0x5c97e7,'url':_0x435736};return{'body':_0x22e552,'before':_0x5c97e7,'noChanges':_0x38beb4,'snapshot':_0x4a8b9a,'plan':mutationResult({'operation':'external-link-update','selector':{'id':_0x24c8f1},'before':_0x5c97e7,'after':_0x3e2428,'dryRun':_0x25be0a,'backend':[...BACKEND],'plannedActions':_0x38beb4?[]:[{'stage':_0x2132a3(0x1a9),'method':'POST','path':_0x2132a3(0x1ad),'body':_0x22e552}],'snapshotHash':_0x4a8b9a[_0x2132a3(0x181)],'warnings':_0x38beb4?['The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.']:[]})};}function assertExternalLinkLeaf(_0x256012){const _0x2fe061=a110_0x3e1cec;if(_0x256012['type']!==_0x2fe061(0x188)&&_0x256012[_0x2fe061(0x182)]!==_0x2fe061(0x177))throw menuError(_0x2fe061(0x174),'Menu\x20'+_0x256012['id']+_0x2fe061(0x1b9)+(_0x256012[_0x2fe061(0x182)]||_0x2fe061(0x18a))+_0x2fe061(0x1be),_0x2fe061(0x18f));if(_0x256012[_0x2fe061(0x178)]!==0x0)throw menuError('menu_external_link_not_leaf',_0x2fe061(0x1c1)+_0x256012['id']+_0x2fe061(0x195)+_0x256012[_0x2fe061(0x178)]+_0x2fe061(0x1c0),_0x2fe061(0x19c));if(!_0x256012[_0x2fe061(0x186)][_0x2fe061(0x176)]())throw menuError(_0x2fe061(0x1b8),'Menu\x20'+_0x256012['id']+_0x2fe061(0x1a7),_0x2fe061(0x179));}function verifyUpdatedFact(_0x20fb56,_0x32eb9c,_0x4cf012){const _0x23b391=a110_0x3e1cec;assertExternalLinkLeaf(_0x32eb9c);const _0x1c1091=[['id',_0x32eb9c['id'],_0x20fb56['id']],[_0x23b391(0x18d),_0x32eb9c[_0x23b391(0x18d)],_0x20fb56[_0x23b391(0x18d)]],[_0x23b391(0x182),_0x32eb9c[_0x23b391(0x182)],_0x20fb56[_0x23b391(0x182)]],['path',_0x32eb9c[_0x23b391(0x186)],_0x20fb56['path']],[_0x23b391(0x1b4),_0x32eb9c[_0x23b391(0x1b4)],_0x20fb56[_0x23b391(0x1b4)]],[_0x23b391(0x1b0),_0x32eb9c[_0x23b391(0x1b0)],_0x20fb56[_0x23b391(0x1b0)]],[_0x23b391(0x19b),_0x32eb9c['visible'],_0x20fb56['visible']]];for(const [_0x1902f3,_0x5dc305,_0x4654b0]of _0x1c1091){assertVerified(_0x5dc305===_0x4654b0,_0x23b391(0x1c1)+_0x20fb56['id']+'\x20'+_0x1902f3+_0x23b391(0x1ac));}assertVerified(_0x32eb9c[_0x23b391(0x1b5)]===_0x4cf012,'Menu\x20'+_0x20fb56['id']+_0x23b391(0x184));}function updateSuccess(_0x2756f4,_0x99abfc,_0x538302,_0x1ae6e1,_0x520af7){const _0x49383f=a110_0x3e1cec,_0x3b360f=_0x538302['id'],_0xeacec8=mutationResult({..._0x2756f4,'after':_0x538302,'dryRun':![],'succeeded':[{'id':_0x3b360f,'updated':!_0x1ae6e1,'skipped':_0x1ae6e1,'recovered':_0x520af7}],'verification':{'checkedBy':_0x49383f(0x17e),'snapshotHash':_0x99abfc[_0x49383f(0x181)],'targetId':_0x3b360f,'matchesRequestedState':!![],'recovered':_0x520af7}});return{'ok':!![],'message':_0x520af7?_0x49383f(0x183)+_0x3b360f+'.':_0x1ae6e1?_0x49383f(0x1c1)+_0x3b360f+_0x49383f(0x1b6):_0x49383f(0x187)+_0x3b360f+'.','data':{..._0xeacec8,'recovered':_0x520af7}};}async function recoverAfterResponseLoss(_0x33c844,_0x2219f9){const _0x4dfa92=a110_0x3e1cec,{plan:_0x3e2953,before:_0x1ecf4d,body:_0x5a2ec3}=_0x2219f9;let _0x59de93;try{_0x59de93=await fetchMenuSnapshot(_0x33c844['appCode'],_0x33c844[_0x4dfa92(0x172)]);}catch{throw recoveryRequired(_0x3e2953,_0x33c844[_0x4dfa92(0x1a3)],{'id':_0x5a2ec3['id'],'readbackFailed':!![]});}const _0x4d96b1=_0x59de93[_0x4dfa92(0x16f)][_0x4dfa92(0x1bb)](_0x5a2ec3['id']);if(!_0x4d96b1||_0x4d96b1[_0x4dfa92(0x1b5)]!==_0x5a2ec3[_0x4dfa92(0x1b5)])throw recoveryRequired(_0x3e2953,_0x33c844['appCode'],{'id':_0x5a2ec3['id'],'requestedUrlObserved':![],'after':_0x4d96b1??null});try{verifyUpdatedFact(_0x1ecf4d,_0x4d96b1,_0x5a2ec3[_0x4dfa92(0x1b5)]);}catch(_0x45cfb3){const _0x339eb5=asVerificationError(_0x45cfb3,_0x4dfa92(0x171)+_0x5a2ec3['id']+_0x4dfa92(0x173));throw menuFailure(_0x339eb5,_0x3e2953,{'stage':_0x4dfa92(0x192),'succeeded':[{'id':_0x5a2ec3['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x5a2ec3['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x4d96b1,'warnings':[_0x4dfa92(0x1bf)],'verification':{'status':_0x4dfa92(0x180),'targetId':_0x5a2ec3['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x33c844[_0x4dfa92(0x1a3)])}});}return updateSuccess(_0x3e2953,_0x59de93,_0x4d96b1,![],!![]);}function recoveryRequired(_0x51f444,_0x16c6a2,_0x513cb4){const _0xdf8752=a110_0x3e1cec,_0x12ef2e=menuError(_0xdf8752(0x1bd),_0xdf8752(0x198),_0xdf8752(0x17d)+buildLookupCommand(_0x16c6a2)+_0xdf8752(0x19d));return menuFailure(_0x12ef2e,_0x51f444,{'stage':_0xdf8752(0x192),'failed':{'id':_0x513cb4['id'],..._0x513cb4[_0xdf8752(0x16e)]===undefined?{}:{'requestedUrlObserved':_0x513cb4['requestedUrlObserved']},..._0x513cb4[_0xdf8752(0x1ba)]?{'readbackFailed':!![]}:{}},'after':_0x513cb4['after'],'warnings':['The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.'],'verification':{'status':_0xdf8752(0x180),'targetId':_0x513cb4['id'],..._0x513cb4[_0xdf8752(0x16e)]===undefined?{}:{'requestedUrlObserved':_0x513cb4[_0xdf8752(0x16e)]},..._0x513cb4[_0xdf8752(0x1ba)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x16c6a2)}});}function buildLookupCommand(_0x31c48b){const _0x15b63f=a110_0x3e1cec,_0x59c13c='\x27'+_0x31c48b['replace'](/'/g,_0x15b63f(0x1a8))+'\x27';return'rabetbase\x20menu\x20list\x20--appcode\x20'+_0x59c13c+_0x15b63f(0x1ae);}
|
|
1
|
+
const a110_0x22ed98=a110_0x3b1f;(function(_0x4bb0ec,_0x2f39a2){const _0xb21ce8=a110_0x3b1f,_0x129c0d=_0x4bb0ec();while(!![]){try{const _0x10c4f7=-parseInt(_0xb21ce8(0x15b))/0x1*(parseInt(_0xb21ce8(0x125))/0x2)+parseInt(_0xb21ce8(0x135))/0x3*(parseInt(_0xb21ce8(0x130))/0x4)+parseInt(_0xb21ce8(0x13f))/0x5*(parseInt(_0xb21ce8(0x15a))/0x6)+-parseInt(_0xb21ce8(0x142))/0x7+-parseInt(_0xb21ce8(0x15f))/0x8*(parseInt(_0xb21ce8(0x136))/0x9)+-parseInt(_0xb21ce8(0x120))/0xa*(-parseInt(_0xb21ce8(0x12e))/0xb)+parseInt(_0xb21ce8(0x143))/0xc;if(_0x10c4f7===_0x2f39a2)break;else _0x129c0d['push'](_0x129c0d['shift']());}catch(_0x55412f){_0x129c0d['push'](_0x129c0d['shift']());}}}(a110_0x4f8a,0x5a25e));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{validateExternalMenuUrl}from'../../commands/menu/external-link-create.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,hasFlag,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,parseParentId,recheckMutationSnapshot,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a110_0x22ed98(0x173),'path':'/smartapi/menu/update'}];export const menuExternalLinkUpdate={'service':'menu','command':'external-link-update','description':a110_0x22ed98(0x14a),'risk':a110_0x22ed98(0x13a),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a110_0x22ed98(0x133),'type':a110_0x22ed98(0x166),'required':!![],'description':a110_0x22ed98(0x150)},{'name':a110_0x22ed98(0x148),'type':a110_0x22ed98(0x166),'required':!![],'description':a110_0x22ed98(0x13c)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x54df30){validateInput(_0x54df30),requireExplicitYes(_0x54df30);},async 'dryRun'(_0x67c2f){const _0x1ca11b=a110_0x22ed98;validateInput(_0x67c2f);const _0xb7b6f5=await buildPlan(_0x67c2f,!![]);return menuDryRunResult(_0xb7b6f5['plan'],{'method':_0x1ca11b(0x173),'url':_0x1ca11b(0x12b),'body':_0xb7b6f5[_0x1ca11b(0x16b)],'description':_0x1ca11b(0x162)+_0xb7b6f5['body']['id']+'.'});},async 'execute'(_0x400059){const _0x43a3ee=a110_0x22ed98;validateInput(_0x400059),requireExplicitYes(_0x400059);const _0x31a7f3=await buildPlan(_0x400059,![]),{plan:_0x341609,body:_0x130fc7,before:_0x13f246,noChanges:_0x3a68cd}=_0x31a7f3,_0x3490a4=_0x130fc7['id'];if(_0x3a68cd)return updateSuccess(_0x341609,_0x31a7f3['snapshot'],_0x13f246,!![],![]);await recheckMutationSnapshot(_0x400059,_0x341609,_0x43a3ee(0x172),_0x3490a4);try{await updateMenuEntity(_0x400059[_0x43a3ee(0x122)],_0x400059[_0x43a3ee(0x16e)],{'id':_0x130fc7['id'],'url':_0x130fc7[_0x43a3ee(0x133)]});}catch(_0x4bcf14){const _0xfff351=mapMenuApiError(_0x4bcf14,'update\x20external\x20menu\x20URL',_0x3490a4);if(isMenuResponseLoss(_0x4bcf14)&&_0xfff351['code']!==_0x43a3ee(0x159))return recoverAfterResponseLoss(_0x400059,_0x31a7f3);throw menuFailure(_0xfff351,_0x341609,{'stage':_0x43a3ee(0x146),'failed':{'id':_0x3490a4},'warnings':[_0x43a3ee(0x138)],'verification':{'status':_0x43a3ee(0x149),'targetId':_0x3490a4,'lookupCommand':buildLookupCommand(_0x400059['appCode'])}});}let _0xc1354f,_0x148a07;try{_0xc1354f=await fetchMenuSnapshot(_0x400059[_0x43a3ee(0x122)],_0x400059[_0x43a3ee(0x16e)]),_0x148a07=requireMenu(_0xc1354f,_0x3490a4),verifyUpdatedFact(_0x13f246,_0x148a07,_0x130fc7['url']);}catch(_0x23ad5a){const _0x4c06be=describeMenuErrorCause(_0x23ad5a,'verify\x20external\x20menu\x20URL\x20update',_0x3490a4),_0x47bdcb=asVerificationError(_0x23ad5a,_0x43a3ee(0x152)+_0x3490a4+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x47bdcb,_0x341609,{'stage':_0x43a3ee(0x15e),'succeeded':[{'id':_0x3490a4,'updateRequested':!![]}],'failed':{'id':_0x3490a4,'requestedStateConfirmed':![],..._0x4c06be},'warnings':['The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':_0x43a3ee(0x149),'targetId':_0x3490a4,'lookupCommand':buildLookupCommand(_0x400059[_0x43a3ee(0x122)])}});}return updateSuccess(_0x341609,_0xc1354f,_0x148a07,![],![]);}};function validateInput(_0x389caf){const _0x495ad0=a110_0x22ed98;validateExactId(_0x389caf),requiredUrl(_0x389caf,_0x495ad0(0x133)),requiredExpectedUrl(_0x389caf),parseParentId(_0x389caf,_0x495ad0(0x154),{'required':!![]});}function a110_0x4f8a(){const _0x22984c=['update\x20external\x20menu\x20URL','POST','10nemTQl','The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','appCode','menu_state_drift','childrenCount','194FmenAi','str','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','unknown','get','requestedUrlObserved','/smartapi/menu/update','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','type','6119355mgWzXs','update-recovery','8nGnuQK','\x20is\x20type\x20\x22','Updated\x20external\x20URL\x20for\x20menu\x20','url','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','569082YRoaqS','5850ROguFs','visible','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','\x27\x5c\x27\x27','high-risk-write','\x20--format\x20compress','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','update-external-link-url','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.','1217765bSVjiU','\x20direct\x20child\x20menu(s).','flagMissing','3899154nvgnpC','2838216GnKiyU','trim','\x20has\x20','update','iframe','expect-url','failed','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','sort','hash','\x20already\x20matches\x20the\x20requested\x20URL.','menu_external_link_not_leaf','\x20could\x20not\x20be\x20verified\x20safely','New\x20external\x20HTTPS\x20URL','readbackFailed','Update\x20request\x20for\x20menu\x20','menu_update_recovery_required','expect-parent-id','parentId','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','label','Response\x20was\x20lost\x20and\x20menu\x20','menu_permission_denied','6tRswwr','4068bTUMfv','\x20URL\x20update\x20did\x20not\x20take\x20effect.','\x20has\x20an\x20empty\x20platform\x20path.','verification','1168DUKGTH','\x22,\x20not\x20iframe\x20or\x20link.','menu\x20list','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','byId','after','path','string','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','rabetbase\x20menu\x20list\x20--appcode\x20','menu_external_link_type_required','body','\x20parent\x20changed:\x20expected\x20','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','cookie','\x20changed\x20during\x20the\x20URL-only\x20update.','Menu\x20','replace'];a110_0x4f8a=function(){return _0x22984c;};return a110_0x4f8a();}function requiredUrl(_0x402e2a,_0x107134){const _0x49649a=a110_0x22ed98;if(!hasFlag(_0x402e2a,_0x107134)||!_0x402e2a['str'](_0x107134)[_0x49649a(0x144)]())throw CliErrors[_0x49649a(0x141)](_0x107134);return validateExternalMenuUrl(_0x402e2a['str'](_0x107134));}function requiredExpectedUrl(_0x4f56aa){const _0x58e9f0=a110_0x22ed98;if(!hasFlag(_0x4f56aa,'expect-url')||!_0x4f56aa[_0x58e9f0(0x126)](_0x58e9f0(0x148))[_0x58e9f0(0x144)]())throw CliErrors[_0x58e9f0(0x141)](_0x58e9f0(0x148));return _0x4f56aa[_0x58e9f0(0x126)](_0x58e9f0(0x148))[_0x58e9f0(0x144)]();}async function buildPlan(_0x2acd0d,_0x301273){const _0x3c8811=a110_0x22ed98,_0x315345=validateExactId(_0x2acd0d),_0x27dbfb=requiredUrl(_0x2acd0d,_0x3c8811(0x133)),_0x527a7e=requiredExpectedUrl(_0x2acd0d),_0x266c02=parseParentId(_0x2acd0d,_0x3c8811(0x154),{'required':!![]}),_0x512a13=await fetchMutationSnapshot(_0x2acd0d,_0x3c8811(0x172),_0x315345),_0x77e2cc=requireMenu(_0x512a13,_0x315345);assertExternalLinkLeaf(_0x77e2cc);if(_0x77e2cc[_0x3c8811(0x155)]!==_0x266c02)throw menuError(_0x3c8811(0x123),_0x3c8811(0x170)+_0x315345+_0x3c8811(0x16c)+formatParent(_0x266c02)+',\x20current\x20'+formatParent(_0x77e2cc['parentId'])+'.',_0x3c8811(0x134));const _0x41530f=_0x77e2cc[_0x3c8811(0x133)]===_0x27dbfb;if(!_0x41530f&&_0x77e2cc[_0x3c8811(0x133)]!==_0x527a7e)throw menuError(_0x3c8811(0x123),_0x3c8811(0x170)+_0x315345+_0x3c8811(0x167),_0x3c8811(0x16d));const _0x2abee1={'id':_0x315345,'appCode':_0x2acd0d['appCode'],'url':_0x27dbfb},_0x4c63a9={..._0x77e2cc,'url':_0x27dbfb};return{'body':_0x2abee1,'before':_0x77e2cc,'noChanges':_0x41530f,'snapshot':_0x512a13,'plan':mutationResult({'operation':'external-link-update','selector':{'id':_0x315345},'before':_0x77e2cc,'after':_0x4c63a9,'dryRun':_0x301273,'backend':[...BACKEND],'plannedActions':_0x41530f?[]:[{'stage':_0x3c8811(0x13d),'method':_0x3c8811(0x173),'path':_0x3c8811(0x12b),'body':_0x2abee1}],'snapshotHash':_0x512a13['hash'],'warnings':_0x41530f?[_0x3c8811(0x12c)]:[]})};}function assertExternalLinkLeaf(_0x448079){const _0xc02d50=a110_0x22ed98;if(_0x448079[_0xc02d50(0x12d)]!==_0xc02d50(0x147)&&_0x448079[_0xc02d50(0x12d)]!=='link')throw menuError(_0xc02d50(0x16a),_0xc02d50(0x170)+_0x448079['id']+_0xc02d50(0x131)+(_0x448079['type']||_0xc02d50(0x128))+_0xc02d50(0x160),_0xc02d50(0x168));if(_0x448079[_0xc02d50(0x124)]!==0x0)throw menuError(_0xc02d50(0x14e),_0xc02d50(0x170)+_0x448079['id']+_0xc02d50(0x145)+_0x448079[_0xc02d50(0x124)]+_0xc02d50(0x140),_0xc02d50(0x13e));if(!_0x448079['path'][_0xc02d50(0x144)]())throw menuError('menu_external_link_path_missing',_0xc02d50(0x170)+_0x448079['id']+_0xc02d50(0x15d),'Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.');}function verifyUpdatedFact(_0xf20181,_0x2f6388,_0x285327){const _0x2c4418=a110_0x22ed98;assertExternalLinkLeaf(_0x2f6388);const _0x39fc19=[['id',_0x2f6388['id'],_0xf20181['id']],[_0x2c4418(0x157),_0x2f6388['label'],_0xf20181[_0x2c4418(0x157)]],[_0x2c4418(0x12d),_0x2f6388[_0x2c4418(0x12d)],_0xf20181[_0x2c4418(0x12d)]],[_0x2c4418(0x165),_0x2f6388[_0x2c4418(0x165)],_0xf20181[_0x2c4418(0x165)]],[_0x2c4418(0x155),_0x2f6388['parentId'],_0xf20181[_0x2c4418(0x155)]],['sort',_0x2f6388[_0x2c4418(0x14b)],_0xf20181['sort']],[_0x2c4418(0x137),_0x2f6388[_0x2c4418(0x137)],_0xf20181[_0x2c4418(0x137)]]];for(const [_0x559734,_0x5be585,_0x5ef654]of _0x39fc19){assertVerified(_0x5be585===_0x5ef654,_0x2c4418(0x170)+_0xf20181['id']+'\x20'+_0x559734+_0x2c4418(0x16f));}assertVerified(_0x2f6388[_0x2c4418(0x133)]===_0x285327,_0x2c4418(0x170)+_0xf20181['id']+_0x2c4418(0x15c));}function updateSuccess(_0x56f910,_0x1eb365,_0x151cc2,_0x6ff3b1,_0x322ed8){const _0x596f82=a110_0x22ed98,_0x57d700=_0x151cc2['id'],_0x17bd7e=mutationResult({..._0x56f910,'after':_0x151cc2,'dryRun':![],'succeeded':[{'id':_0x57d700,'updated':!_0x6ff3b1,'skipped':_0x6ff3b1,'recovered':_0x322ed8}],'verification':{'checkedBy':_0x596f82(0x161),'snapshotHash':_0x1eb365[_0x596f82(0x14c)],'targetId':_0x57d700,'matchesRequestedState':!![],'recovered':_0x322ed8}});return{'ok':!![],'message':_0x322ed8?_0x596f82(0x127)+_0x57d700+'.':_0x6ff3b1?_0x596f82(0x170)+_0x57d700+_0x596f82(0x14d):_0x596f82(0x132)+_0x57d700+'.','data':{..._0x17bd7e,'recovered':_0x322ed8}};}async function recoverAfterResponseLoss(_0x2d7a0d,_0x3a8e5a){const _0x40dc6e=a110_0x22ed98,{plan:_0x1a18ff,before:_0x4bde1e,body:_0x54fe0d}=_0x3a8e5a;let _0x19138b;try{_0x19138b=await fetchMenuSnapshot(_0x2d7a0d['appCode'],_0x2d7a0d['cookie']);}catch{throw recoveryRequired(_0x1a18ff,_0x2d7a0d[_0x40dc6e(0x122)],{'id':_0x54fe0d['id'],'readbackFailed':!![]});}const _0x1dd385=_0x19138b[_0x40dc6e(0x163)][_0x40dc6e(0x129)](_0x54fe0d['id']);if(!_0x1dd385||_0x1dd385[_0x40dc6e(0x133)]!==_0x54fe0d['url'])throw recoveryRequired(_0x1a18ff,_0x2d7a0d[_0x40dc6e(0x122)],{'id':_0x54fe0d['id'],'requestedUrlObserved':![],'after':_0x1dd385??null});try{verifyUpdatedFact(_0x4bde1e,_0x1dd385,_0x54fe0d['url']);}catch(_0x48c479){const _0x32e326=asVerificationError(_0x48c479,_0x40dc6e(0x158)+_0x54fe0d['id']+_0x40dc6e(0x14f));throw menuFailure(_0x32e326,_0x1a18ff,{'stage':_0x40dc6e(0x12f),'succeeded':[{'id':_0x54fe0d['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x54fe0d['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x1dd385,'warnings':['The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.'],'verification':{'status':_0x40dc6e(0x149),'targetId':_0x54fe0d['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x2d7a0d[_0x40dc6e(0x122)])}});}return updateSuccess(_0x1a18ff,_0x19138b,_0x1dd385,![],!![]);}function recoveryRequired(_0x226b4d,_0x36ef3a,_0x5a9b6b){const _0x4dbc7a=a110_0x22ed98,_0x4e27c1=menuError(_0x4dbc7a(0x153),_0x4dbc7a(0x156),'Run\x20'+buildLookupCommand(_0x36ef3a)+'\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.');return menuFailure(_0x4e27c1,_0x226b4d,{'stage':_0x4dbc7a(0x12f),'failed':{'id':_0x5a9b6b['id'],..._0x5a9b6b[_0x4dbc7a(0x12a)]===undefined?{}:{'requestedUrlObserved':_0x5a9b6b[_0x4dbc7a(0x12a)]},..._0x5a9b6b[_0x4dbc7a(0x151)]?{'readbackFailed':!![]}:{}},'after':_0x5a9b6b[_0x4dbc7a(0x164)],'warnings':[_0x4dbc7a(0x121)],'verification':{'status':_0x4dbc7a(0x149),'targetId':_0x5a9b6b['id'],..._0x5a9b6b[_0x4dbc7a(0x12a)]===undefined?{}:{'requestedUrlObserved':_0x5a9b6b[_0x4dbc7a(0x12a)]},..._0x5a9b6b['readbackFailed']?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x36ef3a)}});}function a110_0x3b1f(_0x14bfa6,_0x306d93){_0x14bfa6=_0x14bfa6-0x120;const _0x4f8ac2=a110_0x4f8a();let _0x3b1f5d=_0x4f8ac2[_0x14bfa6];return _0x3b1f5d;}function buildLookupCommand(_0x5a377e){const _0x1aa7e2=a110_0x22ed98,_0x27ed20='\x27'+_0x5a377e[_0x1aa7e2(0x171)](/'/g,_0x1aa7e2(0x139))+'\x27';return _0x1aa7e2(0x169)+_0x27ed20+_0x1aa7e2(0x13b);}
|