@lovrabet/rabetbase-cli 2.4.4-beta.1 → 2.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/api-doc.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/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-refresh-start.js +1 -1
- package/lib/commands/db/diff-refresh-status.js +1 -1
- package/lib/commands/db/diff.js +1 -1
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.js +1 -1
- package/lib/commands/db/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-create.js +1 -1
- package/lib/commands/notification/config-delete.js +1 -1
- package/lib/commands/notification/config-list.js +1 -1
- package/lib/commands/notification/config-update.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/notification/shared.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/page/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/materialize-project-template.js +1 -1
- package/lib/commands/project/create/project-name.js +1 -1
- package/lib/commands/project/create/project-template-archive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/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/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.manifest.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x33e3ef,_0x3bce1b){const _0x2e3bf1=a106_0x3a25,_0x4af8a6=_0x33e3ef();while(!![]){try{const _0x3a4f56=-parseInt(_0x2e3bf1(0x16f))/0x1+parseInt(_0x2e3bf1(0x15c))/0x2*(-parseInt(_0x2e3bf1(0x19a))/0x3)+-parseInt(_0x2e3bf1(0x17f))/0x4*(parseInt(_0x2e3bf1(0x195))/0x5)+parseInt(_0x2e3bf1(0x155))/0x6*(parseInt(_0x2e3bf1(0x171))/0x7)+parseInt(_0x2e3bf1(0x170))/0x8+-parseInt(_0x2e3bf1(0x184))/0x9+-parseInt(_0x2e3bf1(0x168))/0xa*(-parseInt(_0x2e3bf1(0x159))/0xb);if(_0x3a4f56===_0x3bce1b)break;else _0x4af8a6['push'](_0x4af8a6['shift']());}catch(_0x9a0989){_0x4af8a6['push'](_0x4af8a6['shift']());}}}(a106_0x257a,0xa6750));import{createHash}from'node:crypto';function a106_0x3a25(_0x2f764a,_0x4b9352){_0x2f764a=_0x2f764a-0x14c;const _0x257a7b=a106_0x257a();let _0x3a2549=_0x257a7b[_0x2f764a];return _0x3a2549;}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(_0x1ac8c1,_0x380253,_0x19d77c){return new CliError(_0x1ac8c1,0x1,_0x380253,_0x19d77c);}export function readKbId(_0x1c3e6a){const _0x3d697d=a106_0x3a25,_0x2ce805=_0x1c3e6a[_0x3d697d(0x173)]('id');if(!Number[_0x3d697d(0x197)](_0x2ce805)||_0x2ce805<=0x0)throw kbError('kb_id_invalid','--id\x20must\x20be\x20a\x20positive\x20safe\x20integer.');return _0x2ce805;}function a106_0x257a(){const _0x5aee74=['kb_state_drift','3721825sSxOeT','kb_not_found','isSafeInteger','content','message','3718317EehUWQ','byteSize','sha256','\x20response\x20is\x20missing\x20','filter','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20version\x20before\x20retrying.','length','Knowledge-base\x20content\x20path\x20is\x20not\x20a\x20regular\x20file:\x20','isFile','contentHash','\x20was\x20requested.','Pass\x20--file\x20<knowledge.md>.','yes','company','\x20is\x20not\x20company-scoped.','trim','utf-8','Run\x20`rabetbase\x20kb\x20list\x20--format\x20compress`\x20to\x20inspect\x20the\x20resolved\x20app.','This\x20company\x20knowledge-base\x20mutation\x20requires\x20explicit\x20--yes.','updateTime','kb_content_invalid','18mltVEm','Knowledge-base\x20content\x20file\x20is\x20not\x20valid\x20UTF-8:\x20','currentPage','Knowledge-base\x20content\x20file\x20is\x20blank:\x20','46264801LOSMtn',',\x20current\x20','string','2eTHNKy','Knowledge-base\x20list\x20total\x20changed\x20from\x20','version','decode','kb_list_contract_invalid','The\x20','totalCount','title','defineProperty','scope','Retry\x20the\x20read\x20after\x20concurrent\x20updates\x20have\x20settled.','Knowledge-base\x20content\x20file\x20path\x20is\x20required.','10zEecql','Run\x20the\x20same\x20command\x20with\x20--dry-run\x20first,\x20then\x20add\x20--yes\x20after\x20reviewing\x20the\x20plan.','Company\x20knowledge\x20base\x20not\x20found:\x20','Cannot\x20read\x20knowledge-base\x20content\x20file:\x20','items','cookie','digest','1349968KCyowE','4866952ePyNIo','661458cDVreJ','\x20records.','num','number','\x20while\x20id\x20','utf8','kb_file_unreadable','\x20of\x20','Do\x20not\x20resubmit\x20automatically.\x20Resolve\x20the\x20app\x20again\x20and\x20inspect\x20the\x20target\x20state\x20manually.','paging','verification_unavailable','\x20request\x20was\x20sent,\x20but\x20its\x20final\x20company\x20knowledge-base\x20state\x20could\x20not\x20be\x20verified.','kb_','\x20while\x20page\x20','4DiaKXv','kb_response_invalid','from','Knowledge\x20base\x20','outcome_unknown','9739458ctKisT','kb_scope_mismatch','createTime','\x20does\x20not\x20belong\x20to\x20company\x20scope\x20for\x20app\x20','byteLength','has','\x20during\x20paging.','Knowledge-base\x20list\x20returned\x20page\x20','bool','stringify','update','sha256:','appCode','\x20version\x20changed:\x20expected\x20','\x20response\x20contains\x20an\x20invalid\x20version.','kb_confirmation_required'];a106_0x257a=function(){return _0x5aee74;};return a106_0x257a();}export function requireKbExplicitYes(_0x3fc4f5){const _0x2ee6c9=a106_0x3a25;if(_0x3fc4f5[_0x2ee6c9(0x18c)]('dry-run')||_0x3fc4f5['bool'](_0x2ee6c9(0x14c)))return;throw kbError(_0x2ee6c9(0x193),_0x2ee6c9(0x152),_0x2ee6c9(0x169));}function sha256(_0x65541){const _0x35e1e2=a106_0x3a25;return _0x35e1e2(0x18f)+createHash(_0x35e1e2(0x19c))[_0x35e1e2(0x18e)](_0x65541)[_0x35e1e2(0x16e)]('hex');}export function inspectKbContent(_0x2160b9){const _0x41876a=a106_0x3a25,_0x1122dd=Buffer[_0x41876a(0x181)](_0x2160b9,_0x41876a(0x176));return{'content':_0x2160b9,'byteSize':_0x1122dd[_0x41876a(0x188)],'contentHash':sha256(_0x1122dd)};}export async function readKbFile(_0x3db5ae){const _0x5d847a=a106_0x3a25,_0x23f28e=_0x3db5ae['trim']();if(!_0x23f28e)throw kbError('kb_file_required',_0x5d847a(0x167),_0x5d847a(0x1a5));const _0x47cf9d=resolve(_0x23f28e);let _0x26ede6;try{_0x26ede6=await stat(_0x47cf9d);}catch(_0x354a76){throw kbError(_0x5d847a(0x177),'Cannot\x20access\x20knowledge-base\x20content\x20file:\x20'+_0x23f28e,_0x354a76 instanceof Error?_0x354a76[_0x5d847a(0x199)]:String(_0x354a76));}if(!_0x26ede6[_0x5d847a(0x1a2)]())throw kbError('kb_file_invalid',_0x5d847a(0x1a1)+_0x23f28e);let _0x3e24fb;try{_0x3e24fb=await readFile(_0x47cf9d);}catch(_0x105a7b){throw kbError(_0x5d847a(0x177),_0x5d847a(0x16b)+_0x23f28e,_0x105a7b instanceof Error?_0x105a7b[_0x5d847a(0x199)]:String(_0x105a7b));}let _0x46f40e;try{_0x46f40e=new TextDecoder(_0x5d847a(0x150),{'fatal':!![],'ignoreBOM':!![]})[_0x5d847a(0x15f)](_0x3e24fb);}catch{throw kbError(_0x5d847a(0x154),_0x5d847a(0x156)+_0x23f28e);}if(!_0x46f40e[_0x5d847a(0x14f)]())throw kbError('kb_content_invalid',_0x5d847a(0x158)+_0x23f28e);return inspectKbContent(_0x46f40e);}export async function verifyKbMutationReadback(_0x1ea251,_0x44397a,_0x4fb60d){const _0x55d1bd=a106_0x3a25;try{return await _0x4fb60d();}catch(_0x27fc43){const _0x526d01=kbError(_0x55d1bd(0x17d)+_0x1ea251+'_'+(_0x44397a?_0x55d1bd(0x183):_0x55d1bd(0x17b)),_0x55d1bd(0x161)+_0x1ea251+_0x55d1bd(0x17c),_0x55d1bd(0x179));Object[_0x55d1bd(0x164)](_0x526d01,'cause',{'value':_0x27fc43,'enumerable':![]});throw _0x526d01;}}function requireRecordText(_0x3d8640,_0x516703,_0x3b8a3f,_0x1d8181={}){const _0xdb67ff=a106_0x3a25;if(typeof _0x3d8640===_0xdb67ff(0x15b)&&(_0x1d8181['allowEmpty']||_0x3d8640[_0xdb67ff(0x14f)]()))return _0x3d8640;throw kbError(_0xdb67ff(0x180),_0xdb67ff(0x182)+String(_0x3b8a3f)+_0xdb67ff(0x19d)+_0x516703+'.');}export function projectKb(_0x51caf0){const _0x5dcf96=a106_0x3a25;if(!Number[_0x5dcf96(0x197)](_0x51caf0['id'])||_0x51caf0['id']<=0x0)throw kbError(_0x5dcf96(0x180),'Knowledge-base\x20response\x20contains\x20an\x20invalid\x20id.');if(!Number[_0x5dcf96(0x197)](_0x51caf0[_0x5dcf96(0x15e)])||_0x51caf0['version']<0x0)throw kbError(_0x5dcf96(0x180),'Knowledge\x20base\x20'+_0x51caf0['id']+_0x5dcf96(0x192));if(_0x51caf0[_0x5dcf96(0x165)]!==_0x5dcf96(0x14d))throw kbError(_0x5dcf96(0x185),_0x5dcf96(0x182)+_0x51caf0['id']+_0x5dcf96(0x14e));const _0x561668=requireRecordText(_0x51caf0[_0x5dcf96(0x190)],_0x5dcf96(0x190),_0x51caf0['id']),_0x2c1648=requireRecordText(_0x51caf0[_0x5dcf96(0x163)],'title',_0x51caf0['id']),_0x36eed8=inspectKbContent(requireRecordText(_0x51caf0[_0x5dcf96(0x198)],'content',_0x51caf0['id'],{'allowEmpty':!![]})),_0x10416d=typeof _0x51caf0[_0x5dcf96(0x186)]===_0x5dcf96(0x15b)||typeof _0x51caf0[_0x5dcf96(0x186)]===_0x5dcf96(0x174)?_0x51caf0[_0x5dcf96(0x186)]:undefined,_0x4b56f0=typeof _0x51caf0[_0x5dcf96(0x153)]===_0x5dcf96(0x15b)||typeof _0x51caf0[_0x5dcf96(0x153)]===_0x5dcf96(0x174)?_0x51caf0['updateTime']:undefined,_0x4f1a5f=sha256(JSON[_0x5dcf96(0x18d)]({'id':_0x51caf0['id'],'scope':_0x51caf0[_0x5dcf96(0x165)],'appCode':_0x561668,'title':_0x2c1648,'version':_0x51caf0[_0x5dcf96(0x15e)],'contentHash':_0x36eed8['contentHash'],'createTime':_0x10416d,'updateTime':_0x4b56f0}));return{'id':_0x51caf0['id'],'scope':_0x5dcf96(0x14d),'appCode':_0x561668,'title':_0x2c1648,'version':_0x51caf0['version'],'contentByteSize':_0x36eed8[_0x5dcf96(0x19b)],'contentHash':_0x36eed8[_0x5dcf96(0x1a3)],'snapshotHash':_0x4f1a5f,..._0x10416d!==undefined?{'createTime':_0x10416d}:{},..._0x4b56f0!==undefined?{'updateTime':_0x4b56f0}:{}};}export function assertCompanyKnowledgeBase(_0x2b0edc,_0x310102,_0x532759){const _0x55867f=a106_0x3a25;if(_0x532759!==undefined&&_0x2b0edc['id']!==_0x532759)throw kbError(_0x55867f(0x180),'Knowledge-base\x20get-one\x20returned\x20id\x20'+_0x2b0edc['id']+_0x55867f(0x175)+_0x532759+'\x20was\x20requested.');if(_0x2b0edc[_0x55867f(0x165)]!==_0x55867f(0x14d)||_0x2b0edc[_0x55867f(0x190)]!==_0x310102)throw kbError(_0x55867f(0x185),'Knowledge\x20base\x20'+_0x2b0edc['id']+_0x55867f(0x187)+_0x310102+'.');}export async function fetchAllCompanyKnowledgeBases(_0xadf2f5,_0x1e79da){const _0xe548e3=a106_0x3a25,_0x57c553=[],_0x2ce487=new Set();let _0x2e1d64=0x1,_0x14598a=0x0,_0xcea4ba;while(!![]){const _0x3b7a8d=await listEnterpriseKnowledgeBases(_0xadf2f5[_0xe548e3(0x16d)],{'currentPage':_0x2e1d64,'pageSize':LIST_PAGE_SIZE,'appCode':_0xadf2f5[_0xe548e3(0x190)],..._0x1e79da}),_0x97f5eb=_0x3b7a8d[_0xe548e3(0x17a)]?.[_0xe548e3(0x162)];if(_0x3b7a8d[_0xe548e3(0x17a)]?.[_0xe548e3(0x157)]!==undefined&&_0x3b7a8d[_0xe548e3(0x17a)][_0xe548e3(0x157)]!==_0x2e1d64)throw kbError(_0xe548e3(0x160),_0xe548e3(0x18b)+_0x3b7a8d['paging'][_0xe548e3(0x157)]+_0xe548e3(0x17e)+_0x2e1d64+_0xe548e3(0x1a4));if(_0x97f5eb!==undefined){if(_0xcea4ba!==undefined&&_0x97f5eb!==_0xcea4ba)throw kbError(_0xe548e3(0x160),_0xe548e3(0x15d)+_0xcea4ba+'\x20to\x20'+_0x97f5eb+_0xe548e3(0x18a),_0xe548e3(0x166));_0xcea4ba=_0x97f5eb;}for(const _0x58eb13 of _0x3b7a8d[_0xe548e3(0x16c)]){if(!Number[_0xe548e3(0x197)](_0x58eb13['id'])||_0x2ce487[_0xe548e3(0x189)](_0x58eb13['id']))throw kbError(_0xe548e3(0x160),'Knowledge-base\x20list\x20returned\x20an\x20invalid\x20or\x20repeated\x20id:\x20'+String(_0x58eb13['id'])+'.');_0x2ce487['add'](_0x58eb13['id']),_0x58eb13[_0xe548e3(0x165)]==='company'&&_0x58eb13[_0xe548e3(0x190)]===_0xadf2f5[_0xe548e3(0x190)]&&_0x57c553['push'](_0x58eb13);}_0x14598a+=_0x3b7a8d[_0xe548e3(0x16c)]['length'];if(_0x97f5eb!==undefined&&_0x14598a>=_0x97f5eb)break;if(_0x3b7a8d[_0xe548e3(0x16c)][_0xe548e3(0x1a0)]<LIST_PAGE_SIZE){if(_0x97f5eb!==undefined&&_0x14598a<_0x97f5eb)throw kbError(_0xe548e3(0x160),'Knowledge-base\x20list\x20stopped\x20at\x20'+_0x14598a+_0xe548e3(0x178)+_0x97f5eb+_0xe548e3(0x172));break;}_0x2e1d64+=0x1;}return _0x57c553;}export function findExactCompanyKnowledgeBases(_0x419566,_0x210cc8,_0x518a3f){const _0x24e101=a106_0x3a25;return _0x419566[_0x24e101(0x19e)](_0x4924f0=>_0x4924f0[_0x24e101(0x165)]===_0x24e101(0x14d)&&_0x4924f0['appCode']===_0x210cc8&&_0x4924f0[_0x24e101(0x163)]===_0x518a3f);}export async function getKbOrNull(_0x49e4b3,_0x2f853a){const _0x30cefe=a106_0x3a25;try{const _0x580d53=await getEnterpriseKnowledgeBase(_0x49e4b3['cookie'],_0x2f853a);return assertCompanyKnowledgeBase(_0x580d53,_0x49e4b3[_0x30cefe(0x190)],_0x2f853a),_0x580d53;}catch(_0x443cf7){if(getPlatformErrorCode(_0x443cf7)===DATA_NOT_EXIST_ERROR_CODE)return null;throw _0x443cf7;}}export async function requireKb(_0x396392,_0xc51af7){const _0x410a47=a106_0x3a25,_0x5712b0=await getKbOrNull(_0x396392,_0xc51af7);if(!_0x5712b0)throw kbError(_0x410a47(0x196),_0x410a47(0x16a)+_0xc51af7,_0x410a47(0x151));return _0x5712b0;}export function assertExpectedKbVersion(_0x27438b,_0x34144b){const _0x13f8b0=a106_0x3a25;if(_0x34144b===undefined||_0x27438b[_0x13f8b0(0x15e)]===_0x34144b)return;throw kbError(_0x13f8b0(0x194),_0x13f8b0(0x182)+_0x27438b['id']+_0x13f8b0(0x191)+_0x34144b+_0x13f8b0(0x15a)+_0x27438b[_0x13f8b0(0x15e)]+'.',_0x13f8b0(0x19f));}
|
|
1
|
+
const a106_0x4964b4=a106_0x309b;(function(_0x48d2b1,_0x4945d1){const _0x49d253=a106_0x309b,_0x4f2c94=_0x48d2b1();while(!![]){try{const _0x204e5e=-parseInt(_0x49d253(0xde))/0x1*(-parseInt(_0x49d253(0xc5))/0x2)+-parseInt(_0x49d253(0xe8))/0x3*(-parseInt(_0x49d253(0xe6))/0x4)+-parseInt(_0x49d253(0xbc))/0x5*(parseInt(_0x49d253(0xee))/0x6)+parseInt(_0x49d253(0xc4))/0x7+parseInt(_0x49d253(0xc0))/0x8*(parseInt(_0x49d253(0xdf))/0x9)+-parseInt(_0x49d253(0xb1))/0xa+parseInt(_0x49d253(0xfc))/0xb*(-parseInt(_0x49d253(0xd0))/0xc);if(_0x204e5e===_0x4945d1)break;else _0x4f2c94['push'](_0x4f2c94['shift']());}catch(_0x49d0fc){_0x4f2c94['push'](_0x4f2c94['shift']());}}}(a106_0x3c7b,0xc4fe0));function a106_0x3c7b(){const _0x3a3957=['Knowledge-base\x20get-one\x20returned\x20id\x20','add','1558326Frirse','535204xiwfoV','dry-run','utf-8','--id\x20must\x20be\x20a\x20positive\x20safe\x20integer.','createTime','number','\x20response\x20contains\x20an\x20invalid\x20version.','update','\x20to\x20','verification_unavailable','The\x20','108WFtTvO','kb_list_contract_invalid','bool','push','\x20while\x20id\x20','kb_id_invalid','Pass\x20--file\x20<knowledge.md>.','updateTime','\x20version\x20changed:\x20expected\x20','defineProperty','306','isSafeInteger','\x20while\x20page\x20','company','1AGWNvk','4171626eeAlqg','\x20response\x20is\x20missing\x20','Run\x20the\x20same\x20command\x20with\x20--dry-run\x20first,\x20then\x20add\x20--yes\x20after\x20reviewing\x20the\x20plan.','byteLength','length','kb_','cookie','12gQhKug','utf8','470274TbQiJM','kb_file_unreadable','kb_content_invalid','from','Do\x20not\x20resubmit\x20automatically.\x20Resolve\x20the\x20app\x20again\x20and\x20inspect\x20the\x20target\x20state\x20manually.','Knowledge-base\x20content\x20file\x20path\x20is\x20required.','539736bVnzme','kb_file_required','appCode','string','message','sha256:','items','currentPage','\x20is\x20not\x20company-scoped.','trim','byteSize','Cannot\x20access\x20knowledge-base\x20content\x20file:\x20','Knowledge-base\x20list\x20stopped\x20at\x20','outcome_unknown','327943ZcGIjE','hex','isFile','Cannot\x20read\x20knowledge-base\x20content\x20file:\x20','filter','scope','version','\x20was\x20requested.','kb_scope_mismatch','Knowledge-base\x20response\x20contains\x20an\x20invalid\x20id.','\x20does\x20not\x20belong\x20to\x20company\x20scope\x20for\x20app\x20','Knowledge-base\x20content\x20file\x20is\x20blank:\x20','kb_response_invalid','title','\x20during\x20paging.','1688990AWUiZq','kb_confirmation_required','sha256','contentHash','stringify','\x20records.','\x20request\x20was\x20sent,\x20but\x20its\x20final\x20company\x20knowledge-base\x20state\x20could\x20not\x20be\x20verified.','Run\x20`rabetbase\x20kb\x20list\x20--format\x20compress`\x20to\x20inspect\x20the\x20resolved\x20app.','Knowledge\x20base\x20','kb_state_drift','Knowledge-base\x20content\x20file\x20is\x20not\x20valid\x20UTF-8:\x20','10JHmbFP','\x20of\x20','content','Knowledge-base\x20list\x20returned\x20page\x20','8pPBXQy','paging'];a106_0x3c7b=function(){return _0x3a3957;};return a106_0x3c7b();}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=a106_0x4964b4(0xda);export function kbError(_0x222a72,_0x35dddc,_0x59c6e6){return new CliError(_0x222a72,0x1,_0x35dddc,_0x59c6e6);}export function readKbId(_0x167586){const _0x2a1b73=a106_0x4964b4,_0x12318c=_0x167586['num']('id');if(!Number[_0x2a1b73(0xdb)](_0x12318c)||_0x12318c<=0x0)throw kbError(_0x2a1b73(0xd5),_0x2a1b73(0xc8));return _0x12318c;}export function requireKbExplicitYes(_0x25e59b){const _0x48f679=a106_0x4964b4;if(_0x25e59b['bool'](_0x48f679(0xc6))||_0x25e59b[_0x48f679(0xd2)]('yes'))return;throw kbError(_0x48f679(0xb2),'This\x20company\x20knowledge-base\x20mutation\x20requires\x20explicit\x20--yes.',_0x48f679(0xe1));}function sha256(_0x22612b){const _0x2e36e2=a106_0x4964b4;return _0x2e36e2(0xf3)+createHash(_0x2e36e2(0xb3))[_0x2e36e2(0xcc)](_0x22612b)['digest'](_0x2e36e2(0xfd));}export function inspectKbContent(_0x19a40c){const _0x5148d0=a106_0x4964b4,_0x576928=Buffer[_0x5148d0(0xeb)](_0x19a40c,_0x5148d0(0xe7));return{'content':_0x19a40c,'byteSize':_0x576928[_0x5148d0(0xe2)],'contentHash':sha256(_0x576928)};}export async function readKbFile(_0x533fb1){const _0x52b14b=a106_0x4964b4,_0x34787f=_0x533fb1[_0x52b14b(0xf7)]();if(!_0x34787f)throw kbError(_0x52b14b(0xef),_0x52b14b(0xed),_0x52b14b(0xd6));const _0x8da65=resolve(_0x34787f);let _0x501247;try{_0x501247=await stat(_0x8da65);}catch(_0x4e7ec3){throw kbError(_0x52b14b(0xe9),_0x52b14b(0xf9)+_0x34787f,_0x4e7ec3 instanceof Error?_0x4e7ec3[_0x52b14b(0xf2)]:String(_0x4e7ec3));}if(!_0x501247[_0x52b14b(0xfe)]())throw kbError('kb_file_invalid','Knowledge-base\x20content\x20path\x20is\x20not\x20a\x20regular\x20file:\x20'+_0x34787f);let _0x55d3a3;try{_0x55d3a3=await readFile(_0x8da65);}catch(_0x46c43b){throw kbError(_0x52b14b(0xe9),_0x52b14b(0xff)+_0x34787f,_0x46c43b instanceof Error?_0x46c43b[_0x52b14b(0xf2)]:String(_0x46c43b));}let _0x335dd8;try{_0x335dd8=new TextDecoder(_0x52b14b(0xc7),{'fatal':!![],'ignoreBOM':!![]})['decode'](_0x55d3a3);}catch{throw kbError(_0x52b14b(0xea),_0x52b14b(0xbb)+_0x34787f);}if(!_0x335dd8[_0x52b14b(0xf7)]())throw kbError('kb_content_invalid',_0x52b14b(0xad)+_0x34787f);return inspectKbContent(_0x335dd8);}export async function verifyKbMutationReadback(_0x367f1f,_0x408454,_0x42897a){const _0xa244e2=a106_0x4964b4;try{return await _0x42897a();}catch(_0x5b50e5){const _0x3c6d35=kbError(_0xa244e2(0xe4)+_0x367f1f+'_'+(_0x408454?_0xa244e2(0xfb):_0xa244e2(0xce)),_0xa244e2(0xcf)+_0x367f1f+_0xa244e2(0xb7),_0xa244e2(0xec));Object[_0xa244e2(0xd9)](_0x3c6d35,'cause',{'value':_0x5b50e5,'enumerable':![]});throw _0x3c6d35;}}function requireRecordText(_0xdb287a,_0x12da87,_0x562d77,_0x38c8ce={}){const _0x1a9ec8=a106_0x4964b4;if(typeof _0xdb287a===_0x1a9ec8(0xf1)&&(_0x38c8ce['allowEmpty']||_0xdb287a['trim']()))return _0xdb287a;throw kbError(_0x1a9ec8(0xae),_0x1a9ec8(0xb9)+String(_0x562d77)+_0x1a9ec8(0xe0)+_0x12da87+'.');}export function projectKb(_0x262679){const _0x164bea=a106_0x4964b4;if(!Number[_0x164bea(0xdb)](_0x262679['id'])||_0x262679['id']<=0x0)throw kbError(_0x164bea(0xae),_0x164bea(0xab));if(!Number['isSafeInteger'](_0x262679[_0x164bea(0x102)])||_0x262679[_0x164bea(0x102)]<0x0)throw kbError('kb_response_invalid','Knowledge\x20base\x20'+_0x262679['id']+_0x164bea(0xcb));if(_0x262679[_0x164bea(0x101)]!==_0x164bea(0xdd))throw kbError(_0x164bea(0xaa),'Knowledge\x20base\x20'+_0x262679['id']+_0x164bea(0xf6));const _0x30e279=requireRecordText(_0x262679['appCode'],_0x164bea(0xf0),_0x262679['id']),_0x594a61=requireRecordText(_0x262679[_0x164bea(0xaf)],_0x164bea(0xaf),_0x262679['id']),_0x3a63ff=inspectKbContent(requireRecordText(_0x262679[_0x164bea(0xbe)],_0x164bea(0xbe),_0x262679['id'],{'allowEmpty':!![]})),_0x58c42e=typeof _0x262679[_0x164bea(0xc9)]===_0x164bea(0xf1)||typeof _0x262679[_0x164bea(0xc9)]===_0x164bea(0xca)?_0x262679[_0x164bea(0xc9)]:undefined,_0x55f754=typeof _0x262679['updateTime']===_0x164bea(0xf1)||typeof _0x262679['updateTime']===_0x164bea(0xca)?_0x262679[_0x164bea(0xd7)]:undefined,_0x190418=sha256(JSON[_0x164bea(0xb5)]({'id':_0x262679['id'],'scope':_0x262679[_0x164bea(0x101)],'appCode':_0x30e279,'title':_0x594a61,'version':_0x262679[_0x164bea(0x102)],'contentHash':_0x3a63ff[_0x164bea(0xb4)],'createTime':_0x58c42e,'updateTime':_0x55f754}));return{'id':_0x262679['id'],'scope':'company','appCode':_0x30e279,'title':_0x594a61,'version':_0x262679[_0x164bea(0x102)],'contentByteSize':_0x3a63ff[_0x164bea(0xf8)],'contentHash':_0x3a63ff['contentHash'],'snapshotHash':_0x190418,..._0x58c42e!==undefined?{'createTime':_0x58c42e}:{},..._0x55f754!==undefined?{'updateTime':_0x55f754}:{}};}export function assertCompanyKnowledgeBase(_0x583bc6,_0x556ac6,_0x6a2151){const _0x54485b=a106_0x4964b4;if(_0x6a2151!==undefined&&_0x583bc6['id']!==_0x6a2151)throw kbError(_0x54485b(0xae),_0x54485b(0xc2)+_0x583bc6['id']+_0x54485b(0xd4)+_0x6a2151+_0x54485b(0x103));if(_0x583bc6[_0x54485b(0x101)]!==_0x54485b(0xdd)||_0x583bc6[_0x54485b(0xf0)]!==_0x556ac6)throw kbError(_0x54485b(0xaa),_0x54485b(0xb9)+_0x583bc6['id']+_0x54485b(0xac)+_0x556ac6+'.');}export async function fetchAllCompanyKnowledgeBases(_0x45f0d0,_0x35bd5c){const _0x11ef19=a106_0x4964b4,_0x15bf81=[],_0x35d8d0=new Set();let _0x187fa4=0x1,_0x34d3e7=0x0,_0x535790;while(!![]){const _0x349d9b=await listEnterpriseKnowledgeBases(_0x45f0d0[_0x11ef19(0xe5)],{'currentPage':_0x187fa4,'pageSize':LIST_PAGE_SIZE,'appCode':_0x45f0d0[_0x11ef19(0xf0)],..._0x35bd5c}),_0xf0cf74=_0x349d9b[_0x11ef19(0xc1)]?.['totalCount'];if(_0x349d9b[_0x11ef19(0xc1)]?.[_0x11ef19(0xf5)]!==undefined&&_0x349d9b['paging'][_0x11ef19(0xf5)]!==_0x187fa4)throw kbError(_0x11ef19(0xd1),_0x11ef19(0xbf)+_0x349d9b[_0x11ef19(0xc1)][_0x11ef19(0xf5)]+_0x11ef19(0xdc)+_0x187fa4+_0x11ef19(0x103));if(_0xf0cf74!==undefined){if(_0x535790!==undefined&&_0xf0cf74!==_0x535790)throw kbError(_0x11ef19(0xd1),'Knowledge-base\x20list\x20total\x20changed\x20from\x20'+_0x535790+_0x11ef19(0xcd)+_0xf0cf74+_0x11ef19(0xb0),'Retry\x20the\x20read\x20after\x20concurrent\x20updates\x20have\x20settled.');_0x535790=_0xf0cf74;}for(const _0x356624 of _0x349d9b[_0x11ef19(0xf4)]){if(!Number['isSafeInteger'](_0x356624['id'])||_0x35d8d0['has'](_0x356624['id']))throw kbError(_0x11ef19(0xd1),'Knowledge-base\x20list\x20returned\x20an\x20invalid\x20or\x20repeated\x20id:\x20'+String(_0x356624['id'])+'.');_0x35d8d0[_0x11ef19(0xc3)](_0x356624['id']),_0x356624[_0x11ef19(0x101)]===_0x11ef19(0xdd)&&_0x356624['appCode']===_0x45f0d0[_0x11ef19(0xf0)]&&_0x15bf81[_0x11ef19(0xd3)](_0x356624);}_0x34d3e7+=_0x349d9b[_0x11ef19(0xf4)][_0x11ef19(0xe3)];if(_0xf0cf74!==undefined&&_0x34d3e7>=_0xf0cf74)break;if(_0x349d9b[_0x11ef19(0xf4)][_0x11ef19(0xe3)]<LIST_PAGE_SIZE){if(_0xf0cf74!==undefined&&_0x34d3e7<_0xf0cf74)throw kbError(_0x11ef19(0xd1),_0x11ef19(0xfa)+_0x34d3e7+_0x11ef19(0xbd)+_0xf0cf74+_0x11ef19(0xb6));break;}_0x187fa4+=0x1;}return _0x15bf81;}export function findExactCompanyKnowledgeBases(_0x1271b7,_0x1be90c,_0x4c82a1){const _0x3844ac=a106_0x4964b4;return _0x1271b7[_0x3844ac(0x100)](_0x23efe6=>_0x23efe6['scope']===_0x3844ac(0xdd)&&_0x23efe6[_0x3844ac(0xf0)]===_0x1be90c&&_0x23efe6[_0x3844ac(0xaf)]===_0x4c82a1);}function a106_0x309b(_0xd6313c,_0x238359){_0xd6313c=_0xd6313c-0xaa;const _0x3c7b10=a106_0x3c7b();let _0x309bb4=_0x3c7b10[_0xd6313c];return _0x309bb4;}export async function getKbOrNull(_0x56dc43,_0x14dc1d){const _0x536572=a106_0x4964b4;try{const _0x59b49e=await getEnterpriseKnowledgeBase(_0x56dc43[_0x536572(0xe5)],_0x14dc1d);return assertCompanyKnowledgeBase(_0x59b49e,_0x56dc43['appCode'],_0x14dc1d),_0x59b49e;}catch(_0x2b2986){if(getPlatformErrorCode(_0x2b2986)===DATA_NOT_EXIST_ERROR_CODE)return null;throw _0x2b2986;}}export async function requireKb(_0xef8766,_0x2ec952){const _0x1fccac=a106_0x4964b4,_0x76470e=await getKbOrNull(_0xef8766,_0x2ec952);if(!_0x76470e)throw kbError('kb_not_found','Company\x20knowledge\x20base\x20not\x20found:\x20'+_0x2ec952,_0x1fccac(0xb8));return _0x76470e;}export function assertExpectedKbVersion(_0x9348b2,_0x33b7d9){const _0x548b05=a106_0x4964b4;if(_0x33b7d9===undefined||_0x9348b2[_0x548b05(0x102)]===_0x33b7d9)return;throw kbError(_0x548b05(0xba),_0x548b05(0xb9)+_0x9348b2['id']+_0x548b05(0xd8)+_0x33b7d9+',\x20current\x20'+_0x9348b2['version']+'.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20version\x20before\x20retrying.');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a107_0x21e2(){const _0x14984f=['--file\x20cannot\x20be\x20empty.','isSafeInteger','company','file','expected-version','number','Update\x20response\x20was\x20unavailable;\x20verified\x20applicable\x20postconditions\x20by\x20exact\x20ID\x20without\x20resubmitting.','30GSIbtG','--title\x20cannot\x20be\x20empty.','rabetbase\x20kb\x20detail\x20--id\x20','verified','kb_title_invalid','5652940RvNVvZ','appCode','883001YWpxfq','string','patch','snapshotHash','content','117hXBFbn','43604dIZNbN','\x20does\x20not\x20prove\x20the\x20requested\x20update\x20state.','replacement','7456dNJLFN','update','trim','1289665KuiXLD','11DkpzFK','kb_verification_failed','Pass\x20at\x20least\x20one\x20of\x20--title\x20or\x20--file.','contentHash','title','--expected-version\x20is\x20a\x20non-atomic\x20read-before-write\x20assertion;\x20the\x20server\x20update\x20contract\x20has\x20no\x20version\x20predicate.','94816ikkemA','expectedVersion','Nothing\x20to\x20update.','planned','before','23AtPwZg','push','Inspect\x20it\x20with\x20`rabetbase\x20kb\x20detail\x20--id\x20','1006425fmache','write','\x20--format\x20compress','flag','version','Company\x20knowledge\x20base\x20','beforeRecord','--expected-version\x20must\x20be\x20a\x20non-negative\x20safe\x20integer.','kb_expected_version_invalid','Non-atomic\x20preflight\x20assertion\x20for\x20the\x20current\x20version'];a107_0x21e2=function(){return _0x14984f;};return a107_0x21e2();}function a107_0x57cc(_0x4f7d34,_0x4f2d30){_0x4f7d34=_0x4f7d34-0xdb;const _0x21e288=a107_0x21e2();let _0x57cc34=_0x21e288[_0x4f7d34];return _0x57cc34;}const a107_0x3505d0=a107_0x57cc;(function(_0x3a25d4,_0x29955f){const _0xc9c3c3=a107_0x57cc,_0x1d6970=_0x3a25d4();while(!![]){try{const _0x1b4f0b=-parseInt(_0xc9c3c3(0xf4))/0x1*(-parseInt(_0xc9c3c3(0xe2))/0x2)+parseInt(_0xc9c3c3(0xf7))/0x3+parseInt(_0xc9c3c3(0xe5))/0x4+-parseInt(_0xc9c3c3(0xe8))/0x5+parseInt(_0xc9c3c3(0x108))/0x6*(parseInt(_0xc9c3c3(0xdc))/0x7)+-parseInt(_0xc9c3c3(0xef))/0x8*(parseInt(_0xc9c3c3(0xe1))/0x9)+-parseInt(_0xc9c3c3(0x10d))/0xa*(parseInt(_0xc9c3c3(0xe9))/0xb);if(_0x1b4f0b===_0x29955f)break;else _0x1d6970['push'](_0x1d6970['shift']());}catch(_0x4ba847){_0x1d6970['push'](_0x1d6970['shift']());}}}(a107_0x21e2,0x782a5));import{isPlatformTransportFailure,updateEnterpriseKnowledgeBase}from'../../core/api-client.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{assertCompanyKnowledgeBase,assertExpectedKbVersion,inspectKbContent,kbError,projectKb,readKbFile,readKbId,requireKb,verifyKbMutationReadback}from'../../commands/kb/shared.js';const UPDATE_PATH='/admin/knowledge-base/update',NON_ATOMIC_WARNING=a107_0x3505d0(0xee);function readUpdatePatch(_0x386cdf){const _0x58a519=a107_0x3505d0,_0x4de87e=readKbId(_0x386cdf),_0x267f8a=_0x386cdf[_0x58a519(0xfa)](_0x58a519(0xed)),_0x54e2b7=_0x386cdf[_0x58a519(0xfa)]('file'),_0x13088c=_0x386cdf['flag'](_0x58a519(0x105)),_0x159265=_0x267f8a===undefined?undefined:String(_0x267f8a)[_0x58a519(0xe7)]();if(_0x267f8a!==undefined&&!_0x159265)throw kbError(_0x58a519(0x10c),_0x58a519(0x109));const _0x31e45d=_0x54e2b7===undefined?undefined:String(_0x54e2b7)[_0x58a519(0xe7)]();if(_0x54e2b7!==undefined&&!_0x31e45d)throw kbError('kb_file_required',_0x58a519(0x101));if(_0x159265===undefined&&_0x31e45d===undefined)throw kbError('kb_update_empty',_0x58a519(0xf1),_0x58a519(0xeb));let _0x5bd886;if(_0x13088c!==undefined){_0x5bd886=Number(_0x13088c);if(!Number[_0x58a519(0x102)](_0x5bd886)||_0x5bd886<0x0)throw kbError(_0x58a519(0xff),_0x58a519(0xfe));}return{'id':_0x4de87e,'title':_0x159265,'file':_0x31e45d,'expectedVersion':_0x5bd886};}async function prepareUpdate(_0x3b1cc6){const _0x571e2a=a107_0x3505d0,_0x2be4b2=readUpdatePatch(_0x3b1cc6),_0x2c6386=await requireKb(_0x3b1cc6,_0x2be4b2['id']);assertExpectedKbVersion(_0x2c6386,_0x2be4b2[_0x571e2a(0xf0)]);const _0x25e24e=_0x2be4b2[_0x571e2a(0x104)]?await readKbFile(_0x2be4b2[_0x571e2a(0x104)]):undefined,_0x2750f6=projectKb(_0x2c6386),_0x5dbf2e=projectKb({..._0x2c6386,..._0x2be4b2[_0x571e2a(0xed)]!==undefined?{'title':_0x2be4b2[_0x571e2a(0xed)]}:{},..._0x25e24e?{'content':_0x25e24e[_0x571e2a(0xe0)]}:{}});return{'patch':_0x2be4b2,'beforeRecord':_0x2c6386,'before':_0x2750f6,'planned':_0x5dbf2e,'replacement':_0x25e24e};}export const kbUpdate={'service':'kb','command':a107_0x3505d0(0xe6),'description':'Update\x20a\x20company\x20knowledge\x20base\x20with\x20preflight\x20drift\x20protection','risk':a107_0x3505d0(0xf8),'requiresAppCode':!![],'structuredErrors':!![],'flags':[{'name':'id','type':a107_0x3505d0(0x106),'required':!![],'description':'Company\x20knowledge-base\x20id'},{'name':a107_0x3505d0(0xed),'type':a107_0x3505d0(0xdd),'required':![],'description':'New\x20knowledge-base\x20title'},{'name':a107_0x3505d0(0x104),'type':'string','required':![],'description':'Replacement\x20UTF-8\x20text\x20or\x20Markdown\x20content\x20file'},{'name':'expected-version','type':a107_0x3505d0(0x106),'required':![],'description':a107_0x3505d0(0x100)}],async 'validate'(_0x3c2110){readUpdatePatch(_0x3c2110);},async 'dryRun'(_0x851d05){const _0x332779=a107_0x3505d0,_0x2a308c=await prepareUpdate(_0x851d05),_0x429413=_0x2a308c[_0x332779(0xde)][_0x332779(0xf0)]!==undefined?[NON_ATOMIC_WARNING]:[];return asDryRunResult({'operation':_0x332779(0xe6),'selector':{'id':_0x2a308c[_0x332779(0xf3)]['id'],'scope':_0x332779(0x103),'appCode':_0x2a308c[_0x332779(0xf3)][_0x332779(0xdb)]},'before':_0x2a308c[_0x332779(0xf3)],'after':_0x2a308c[_0x332779(0xf2)],'dryRun':!![],'backend':{'method':'POST','path':UPDATE_PATH},'warnings':_0x429413,'verification':{'expectedVersion':_0x2a308c[_0x332779(0xde)][_0x332779(0xf0)]??null,'atomicCompareAndSet':![],'plannedSnapshotHash':_0x2a308c[_0x332779(0xf3)][_0x332779(0xdf)],'lookupCommand':_0x332779(0x10a)+_0x2a308c[_0x332779(0xf3)]['id']+_0x332779(0xf9)}},{'method':'POST','url':UPDATE_PATH});},async 'execute'(_0x3f28da){const _0x596a46=a107_0x3505d0,_0x3c72b5=await prepareUpdate(_0x3f28da),_0x3f5200={'id':_0x3c72b5[_0x596a46(0xde)]['id'],..._0x3c72b5[_0x596a46(0xde)][_0x596a46(0xed)]!==undefined?{'title':_0x3c72b5['patch'][_0x596a46(0xed)]}:{},..._0x3c72b5[_0x596a46(0xe4)]?{'content':_0x3c72b5[_0x596a46(0xe4)][_0x596a46(0xe0)]}:{}};let _0x18400c=![];try{const _0x9aa10c=await updateEnterpriseKnowledgeBase(_0x3f28da['cookie'],_0x3f5200);assertCompanyKnowledgeBase(_0x9aa10c,_0x3f28da[_0x596a46(0xdb)],_0x3c72b5[_0x596a46(0xde)]['id']);}catch(_0xf7d070){if(!isPlatformTransportFailure(_0xf7d070))throw _0xf7d070;_0x18400c=!![];}const _0x58cd10=await verifyKbMutationReadback(_0x596a46(0xe6),_0x18400c,()=>requireKb(_0x3f28da,_0x3c72b5[_0x596a46(0xde)]['id'])),_0x313c8e=projectKb(_0x58cd10),_0x6051a6=_0x3c72b5[_0x596a46(0xde)]['title']===undefined||_0x58cd10[_0x596a46(0xed)]===_0x3c72b5[_0x596a46(0xde)][_0x596a46(0xed)],_0x216473=!_0x3c72b5[_0x596a46(0xe4)]||inspectKbContent(_0x58cd10[_0x596a46(0xe0)])[_0x596a46(0xec)]===_0x3c72b5[_0x596a46(0xe4)][_0x596a46(0xec)],_0x54c094=!_0x3c72b5[_0x596a46(0xe4)]||_0x58cd10[_0x596a46(0xfb)]>_0x3c72b5[_0x596a46(0xfd)][_0x596a46(0xfb)],_0x9d07a3=!_0x18400c||_0x3c72b5[_0x596a46(0xe4)]!==undefined||_0x3c72b5[_0x596a46(0xde)][_0x596a46(0xed)]===undefined||_0x3c72b5[_0x596a46(0xfd)][_0x596a46(0xed)]!==_0x3c72b5['patch'][_0x596a46(0xed)];if(!_0x6051a6||!_0x216473||!_0x54c094||!_0x9d07a3)throw kbError(_0x18400c?'kb_update_outcome_unknown':_0x596a46(0xea),_0x596a46(0xfc)+_0x3c72b5[_0x596a46(0xde)]['id']+_0x596a46(0xe3),_0x596a46(0xf6)+_0x3c72b5[_0x596a46(0xde)]['id']+'\x20--format\x20compress`;\x20do\x20not\x20resubmit\x20automatically.');const _0x4890bf=[];return _0x3c72b5[_0x596a46(0xde)]['expectedVersion']!==undefined&&_0x4890bf[_0x596a46(0xf5)](NON_ATOMIC_WARNING),_0x18400c&&_0x4890bf['push'](_0x596a46(0x107)),{'ok':!![],'data':{'operation':_0x596a46(0xe6),'selector':{'id':_0x313c8e['id'],'scope':_0x596a46(0x103),'appCode':_0x313c8e[_0x596a46(0xdb)]},'before':_0x3c72b5[_0x596a46(0xf3)],'after':_0x313c8e,'dryRun':![],'backend':{'method':'POST','path':UPDATE_PATH},'warnings':_0x4890bf,'verification':{'status':_0x596a46(0x10b),'recoveredAfterUnknownResponse':_0x18400c,'expectedVersion':_0x3c72b5['patch']['expectedVersion']??null,'atomicCompareAndSet':![],'lookupCommand':_0x596a46(0x10a)+_0x313c8e['id']+'\x20--format\x20compress'}},'message':'Updated\x20company\x20knowledge\x20base\x20'+_0x313c8e['id']};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a108_0x23b3e6=a108_0x2b1b;(function(_0x3353de,_0x5ba9f9){const _0x5517e0=a108_0x2b1b,_0x5f02c9=_0x3353de();while(!![]){try{const _0x38d5fe=parseInt(_0x5517e0(0x142))/0x1*(-parseInt(_0x5517e0(0x158))/0x2)+-parseInt(_0x5517e0(0x13b))/0x3+parseInt(_0x5517e0(0x14d))/0x4+parseInt(_0x5517e0(0x157))/0x5*(-parseInt(_0x5517e0(0x156))/0x6)+parseInt(_0x5517e0(0x13d))/0x7*(-parseInt(_0x5517e0(0x15a))/0x8)+parseInt(_0x5517e0(0x154))/0x9*(-parseInt(_0x5517e0(0x147))/0xa)+parseInt(_0x5517e0(0x14a))/0xb;if(_0x38d5fe===_0x5ba9f9)break;else _0x5f02c9['push'](_0x5f02c9['shift']());}catch(_0x1b2d5a){_0x5f02c9['push'](_0x5f02c9['shift']());}}}(a108_0x5f22,0x5e141));function a108_0x2b1b(_0x3f41ac,_0x26d38f){_0x3f41ac=_0x3f41ac-0x13b;const _0x5f22e4=a108_0x5f22();let _0x2b1b56=_0x5f22e4[_0x3f41ac];return _0x2b1b56;}import{logger}from'../../utils/logger.js';function printLogs(_0x5e73b1){const _0x1c1099=a108_0x2b1b;if(_0x5e73b1[_0x1c1099(0x141)]===0x0){console[_0x1c1099(0x146)]('*\x20No\x20logs\x20found');return;}console[_0x1c1099(0x146)]('*\x20Lovrabet\x20CLI\x20logs:\x0a'),_0x5e73b1[_0x1c1099(0x14b)]((_0x2e5f8b,_0x581453)=>{const _0x23f1df=_0x1c1099,_0x290ceb=new Date(_0x2e5f8b[_0x23f1df(0x144)])[_0x23f1df(0x155)](_0x23f1df(0x14e)),_0x3bcf4d=_0x2e5f8b[_0x23f1df(0x14c)]==='success'?'√':_0x2e5f8b[_0x23f1df(0x14c)]==='error'?'×':_0x2e5f8b[_0x23f1df(0x14c)]===_0x23f1df(0x143)?'!':'i';console[_0x23f1df(0x146)](_0x581453+0x1+'.\x20'+_0x3bcf4d+'\x20['+_0x2e5f8b[_0x23f1df(0x13c)]+']\x20'+_0x2e5f8b[_0x23f1df(0x149)]),console[_0x23f1df(0x146)](_0x23f1df(0x14f)+_0x290ceb),_0x2e5f8b['duration']&&console[_0x23f1df(0x146)]('\x20\x20\x20Duration:\x20'+_0x2e5f8b[_0x23f1df(0x151)]+'ms'),_0x2e5f8b[_0x23f1df(0x140)]&&Object['keys'](_0x2e5f8b[_0x23f1df(0x140)])[_0x23f1df(0x141)]>0x0&&console['log'](_0x23f1df(0x13f)+JSON[_0x23f1df(0x159)](_0x2e5f8b[_0x23f1df(0x140)],null,0x2)),console['log']('');});}export const logsDefinitions=[{'service':a108_0x23b3e6(0x13e),'command':a108_0x23b3e6(0x145),'description':a108_0x23b3e6(0x150),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x2092cc){const _0x479772=a108_0x23b3e6;return printLogs(logger[_0x479772(0x148)]()),{'ok':!![]};}},{'service':a108_0x23b3e6(0x13e),'command':a108_0x23b3e6(0x15b),'description':a108_0x23b3e6(0x153),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x3d24f1){const _0x706738=a108_0x23b3e6;return logger[_0x706738(0x152)](),console[_0x706738(0x146)]('*\x20Logs\x20cleared'),{'ok':!![]};}}];function a108_0x5f22(){const _0x555604=['length','1jkBYZc','warn','timestamp','show','log','60hBebSt','readLogs','message','22444609UvGiXL','forEach','level','710408sknLMD','en-US','\x20\x20\x20Time:\x20','View\x20command\x20history\x20logs','duration','clearLogs','Clear\x20command\x20history\x20logs','773739xaZqQk','toLocaleString','282AoBBiP','14385uUfomo','253648voLGfk','stringify','24DgTIqv','clear','2059824NSRNSB','command','859131wspLLR','logs','\x20\x20\x20Details:\x20','details'];a108_0x5f22=function(){return _0x555604;};return a108_0x5f22();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a109_0x54615c=a109_0x3475;(function(_0x510297,_0x863b33){const _0x57ff02=a109_0x3475,_0x338159=_0x510297();while(!![]){try{const _0x590a22=parseInt(_0x57ff02(0x1d4))/0x1*(-parseInt(_0x57ff02(0x1c5))/0x2)+parseInt(_0x57ff02(0x1c2))/0x3*(-parseInt(_0x57ff02(0x1d2))/0x4)+-parseInt(_0x57ff02(0x1dc))/0x5*(-parseInt(_0x57ff02(0x1f6))/0x6)+parseInt(_0x57ff02(0x1d0))/0x7*(parseInt(_0x57ff02(0x1f2))/0x8)+parseInt(_0x57ff02(0x1af))/0x9*(-parseInt(_0x57ff02(0x1d3))/0xa)+parseInt(_0x57ff02(0x1b6))/0xb*(-parseInt(_0x57ff02(0x1cc))/0xc)+-parseInt(_0x57ff02(0x1a5))/0xd*(-parseInt(_0x57ff02(0x1ea))/0xe);if(_0x590a22===_0x863b33)break;else _0x338159['push'](_0x338159['shift']());}catch(_0x574d5d){_0x338159['push'](_0x338159['shift']());}}}(a109_0x4f5e,0x9e378));import a109_0x416806 from'chalk';import{filterMenusWithResources,fetchOnlineMenuList}from'../../commands/menu/shared/logic.js';import{renderUpdateSummary}from'../../commands/menu/shared/compare-table.js';import{askJsUrl,askCssUrl,askConfirm,startSpinner,stopSpinner,requireInteractive}from'../../commands/menu/shared/inquirer.js';import{CliErrors}from'../../errors.js';import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';import{runMenuUpdateCore}from'../../commands/menu/shared/update-core.js';import{selectMenusForUpdate}from'../../commands/menu/shared/update-core.js';import{isInProject}from'../../context.js';export const menuAssetUpdate={'service':'menu','command':a109_0x54615c(0x1f3),'description':a109_0x54615c(0x1c7),'risk':a109_0x54615c(0x1d1),'flags':[{'name':a109_0x54615c(0x1fc),'type':a109_0x54615c(0x1b2),'description':a109_0x54615c(0x1de)+a109_0x54615c(0x1fd)},{'name':'mode','type':a109_0x54615c(0x1b2),'description':a109_0x54615c(0x1dd)+'patch\x20replaces\x20a\x20supplied\x20type\x20only\x20when\x20the\x20existing\x20target\x20is\x20unambiguous','enum':['replace','patch'],'default':a109_0x54615c(0x1be)},{'name':a109_0x54615c(0x1aa),'type':a109_0x54615c(0x1cd),'description':a109_0x54615c(0x1b4)},{'name':'menu-ids','type':a109_0x54615c(0x1b2),'description':'Exact\x20comma-separated\x20menu\x20IDs\x20to\x20update'},{'name':a109_0x54615c(0x1ed),'type':'string','description':'Exact\x20comma-separated\x20menu\x20paths\x20to\x20update'},{'name':a109_0x54615c(0x1b8),'type':a109_0x54615c(0x1cd),'description':'Explicitly\x20update\x20every\x20menu\x20that\x20has\x20resources'},{'name':a109_0x54615c(0x1e2),'type':a109_0x54615c(0x1b2),'enum':['import',a109_0x54615c(0x1d6),a109_0x54615c(0x1bf)],'description':a109_0x54615c(0x1c1)}],async 'dryRun'(_0x5f5bca){const _0x4059b7=a109_0x54615c;ensureRunnableContext(_0x5f5bca[_0x4059b7(0x1e0)],_0x5f5bca[_0x4059b7(0x1b1)]);const _0x25d43c=await runMenuUpdateCore(_0x5f5bca[_0x4059b7(0x1ca)],_0x5f5bca[_0x4059b7(0x1b5)],_0x5f5bca[_0x4059b7(0x1f8)]('params'),{'mode':parseMode(_0x5f5bca['str']('mode')),'dryRun':!![],'force':_0x5f5bca[_0x4059b7(0x1d5)](_0x4059b7(0x1aa)),'selection':parseSelection(_0x5f5bca),'loadScriptMode':parseLoadScriptMode(_0x5f5bca[_0x4059b7(0x1f8)](_0x4059b7(0x1e2)))});return{'method':_0x4059b7(0x1f1),'url':_0x4059b7(0x1ab),'body':_0x25d43c,'description':_0x25d43c[_0x4059b7(0x1a9)]?_0x4059b7(0x1ec):_0x4059b7(0x1e8)+(_0x25d43c[_0x4059b7(0x1a8)]?.[_0x4059b7(0x1f5)]??0x0)+_0x4059b7(0x1b9)};},async 'execute'(_0x4e992e){const _0x1df26c=a109_0x54615c;ensureRunnableContext(_0x4e992e[_0x1df26c(0x1e0)],_0x4e992e[_0x1df26c(0x1b1)]);const _0xbfa5b=_0x4e992e['str']('params'),_0x855909=parseMode(_0x4e992e['str'](_0x1df26c(0x1b7))),_0x4ca2ec=_0x4e992e['bool'](_0x1df26c(0x1aa)),_0x5aae70=parseLoadScriptMode(_0x4e992e[_0x1df26c(0x1f8)](_0x1df26c(0x1e2))),_0x300a19=parseParams(_0xbfa5b),_0x52c5c7=!!(_0x300a19[_0x1df26c(0x1ce)]||_0x300a19['cssUrl']);if(_0x52c5c7){const _0x69ee1b=await runMenuUpdateCore(_0x4e992e['appCode'],_0x4e992e[_0x1df26c(0x1b5)],_0xbfa5b,{'mode':_0x855909,'force':_0x4ca2ec,'selection':parseSelection(_0x4e992e),'loadScriptMode':_0x5aae70});return _0x69ee1b[_0x1df26c(0x1a9)]?writeCliSideChannelLine(_0x1df26c(0x1d7)):(writeCliSideChannelLine(_0x1df26c(0x1ef)+_0x69ee1b[_0x1df26c(0x1d8)]+_0x1df26c(0x1cb)),_0x69ee1b[_0x1df26c(0x1cf)]>0x0&&writeCliSideChannelLine('!\x20'+_0x69ee1b[_0x1df26c(0x1cf)]+'\x20menu(s)\x20failed')),{'ok':_0x69ee1b[_0x1df26c(0x1cf)]===0x0,'data':_0x69ee1b,'message':_0x69ee1b[_0x1df26c(0x1a9)]?_0x1df26c(0x1da):_0x1df26c(0x1e9)+_0x69ee1b[_0x1df26c(0x1d8)]+_0x1df26c(0x1b0)+_0x69ee1b[_0x1df26c(0x1cf)]+_0x1df26c(0x1f4)};}requireInteractive();const _0x45980c=startSpinner(_0x1df26c(0x1fa));let _0x503e6b;try{_0x503e6b=await fetchOnlineMenuList(_0x4e992e['appCode'],_0x4e992e[_0x1df26c(0x1b5)]),stopSpinner(_0x45980c,_0x1df26c(0x1f0),!![]);}catch(_0x5cff03){stopSpinner(_0x45980c,_0x1df26c(0x1e5),![]);throw CliErrors[_0x1df26c(0x1c9)](_0x5cff03 instanceof Error?_0x5cff03[_0x1df26c(0x1a7)]:_0x1df26c(0x1e5));}const _0x106e77=filterMenusWithResources(_0x503e6b),_0x4ea8e8=parseSelection(_0x4e992e,![]),_0x2a4469=_0x4ea8e8?selectMenusForUpdate(_0x106e77,_0x4ea8e8):_0x106e77;if(_0x2a4469[_0x1df26c(0x1f5)]===0x0)return writeCliSideChannelLine(a109_0x416806['yellow'](_0x1df26c(0x1fe))),{'ok':!![]};writeCliSideChannelLine(''),writeCliSideChannelLine(a109_0x416806['cyan'](_0x1df26c(0x1d9)+_0x2a4469[_0x1df26c(0x1f5)]+_0x1df26c(0x1c0))),writeCliSideChannelLine(renderUpdateSummary(_0x2a4469[_0x1df26c(0x1ae)](_0x12678f=>_0x12678f[_0x1df26c(0x1eb)]),[_0x300a19['jsUrl'],_0x300a19[_0x1df26c(0x1e3)]])),writeCliSideChannelLine('');let _0x222a33=_0x300a19[_0x1df26c(0x1ce)],_0x497e90=_0x300a19[_0x1df26c(0x1e3)];!_0x222a33&&(_0x222a33=await askJsUrl());!_0x497e90&&(_0x497e90=await askCssUrl());const _0x2b3a3f=await askConfirm(_0x1df26c(0x1e1)+_0x2a4469[_0x1df26c(0x1f5)]+_0x1df26c(0x1c3)+_0x222a33+_0x1df26c(0x1fb)+_0x497e90+'?');if(!_0x2b3a3f)return writeCliSideChannelLine(a109_0x416806['gray'](_0x1df26c(0x1c4))),{'ok':!![]};const _0x1a1a14=startSpinner(_0x1df26c(0x1db)+_0x2a4469[_0x1df26c(0x1f5)]+'\x20menu(s)...');try{const _0x5263dd=await runMenuUpdateCore(_0x4e992e['appCode'],_0x4e992e['cookie'],JSON['stringify']({'jsUrl':_0x222a33,'cssUrl':_0x497e90}),{'mode':_0x855909,'force':_0x4ca2ec,'selection':{'all':![],'menuIds':_0x2a4469[_0x1df26c(0x1ae)](_0x14fa92=>_0x14fa92['id']),'paths':[]},'loadScriptMode':_0x5aae70});return stopSpinner(_0x1a1a14,_0x1df26c(0x1f7)+_0x5263dd[_0x1df26c(0x1d8)]+_0x1df26c(0x1bd),_0x5263dd[_0x1df26c(0x1cf)]===0x0),{'ok':_0x5263dd['failed']===0x0,'data':_0x5263dd,'message':_0x5263dd[_0x1df26c(0x1cf)]>0x0?_0x1df26c(0x1e9)+_0x5263dd['updated']+_0x1df26c(0x1b0)+_0x5263dd[_0x1df26c(0x1cf)]+_0x1df26c(0x1f4):_0x1df26c(0x1e9)+_0x5263dd[_0x1df26c(0x1d8)]+'\x20updated.'};}catch(_0x1dcdce){stopSpinner(_0x1a1a14,_0x1df26c(0x1e6),![]);throw CliErrors[_0x1df26c(0x1c9)](_0x1dcdce instanceof Error?_0x1dcdce[_0x1df26c(0x1a7)]:_0x1df26c(0x1e6));}}};function a109_0x3475(_0x529440,_0x2f1034){_0x529440=_0x529440-0x1a5;const _0x4f5ea6=a109_0x4f5e();let _0x34759c=_0x4f5ea6[_0x529440];return _0x34759c;}function ensureRunnableContext(_0x30be47,_0x58ff71){const _0x5bc6c8=a109_0x54615c,_0x36eea7=_0x30be47['appcode']?String(_0x30be47[_0x5bc6c8(0x1ad)])[_0x5bc6c8(0x1ee)]():'';if(!isInProject()&&!_0x58ff71&&!_0x36eea7)throw CliErrors['validation'](_0x5bc6c8(0x1f9)+_0x5bc6c8(0x1ac));}function parseMode(_0x30b808){const _0x4e4599=a109_0x54615c;if(!_0x30b808)return _0x4e4599(0x1be);if(_0x30b808===_0x4e4599(0x1b3)||_0x30b808===_0x4e4599(0x1be))return _0x30b808;throw CliErrors['validation']('Invalid\x20--mode.\x20Allowed\x20values:\x20replace,\x20patch');}function parseSelection(_0x3bfb5a,_0x23f70b=!![]){const _0x408249=a109_0x54615c,_0x21b84a=_0x3bfb5a[_0x408249(0x1d5)](_0x408249(0x1b8)),_0x4fa05b=parseMenuIds(_0x3bfb5a[_0x408249(0x1f8)](_0x408249(0x1a6))),_0x287577=parseCsv(_0x3bfb5a['str'](_0x408249(0x1ed))),_0x5658b4=_0x4fa05b[_0x408249(0x1f5)]>0x0||_0x287577[_0x408249(0x1f5)]>0x0;if(_0x21b84a&&_0x5658b4)throw CliErrors['validation'](_0x408249(0x1df));if(!_0x21b84a&&!_0x5658b4){if(!_0x23f70b)return undefined;throw CliErrors['validation']('menu\x20asset-update\x20requires\x20an\x20explicit\x20target:\x20pass\x20--all,\x20--menu-ids,\x20or\x20--paths.');}return{'all':_0x21b84a,'menuIds':_0x4fa05b,'paths':_0x287577};}function a109_0x4f5e(){const _0x456d30=['Updated\x20','str','menu\x20asset-update\x20requires\x20a\x20project\x20context\x20or\x20explicit\x20--appcode.\x20','Fetching\x20online\x20menu\x20list...','\x20and\x20CSS:\x20','params','JSON:\x20{\x22jsUrl\x22:\x22https://...js\x22,\x22cssUrl\x22:\x22https://...css\x22}','\x20\x20!\x20No\x20menus\x20with\x20existing\x20resources\x20found','12636uAfPVk','menu-ids','message','diffs','skipped','force','/smartapi/menu/update','Run\x20inside\x20a\x20directory\x20with\x20.rabetbase.json,\x20or\x20pass\x20--appcode\x20<code>.','appcode','map','7005717WeXPPU','\x20updated,\x20','selectedAppName','string','replace','Allow\x20replace\x20mode\x20to\x20remove\x20existing\x20JS\x20resources','cookie','22VegYyW','mode','all','\x20menu\x20resource\x20set(s).','object','split','parse','\x20menu(s)','patch','fetch','\x20menu(s)\x20with\x20existing\x20resources','Explicitly\x20change\x20the\x20microfrontend\x20resource\x20loading\x20mode','9EePOgJ','\x20menu(s)\x20with\x20JS:\x20','\x20\x20Cancelled.','4BWdyVQ','some','Update\x20CDN\x20asset\x20URLs\x20for\x20selected\x20online\x20menus\x20with\x20existing\x20resources','filter','validation','appCode','\x20menu(s)\x20updated','6539628VJMbST','boolean','jsUrl','failed','250859UTwSef','write','485308xEQtkH','10ABunTg','83522CemLZf','bool','script','!\x20No\x20menus\x20with\x20existing\x20resources\x20found','updated','\x20\x20Found\x20','Menu\x20asset\x20update\x20skipped','Updating\x20','2071525rQDAIX','Resource\x20update\x20mode:\x20replace\x20rewrites\x20resources\x20from\x20supplied\x20URLs;\x20','Pre-fill\x20JS/CSS\x20URLs\x20to\x20update.\x20','--all\x20cannot\x20be\x20combined\x20with\x20--menu-ids\x20or\x20--paths.','rawFlags','\x20\x20Update\x20','load-mode','cssUrl','isArray','Failed\x20to\x20fetch\x20online\x20menu\x20list','Menu\x20asset\x20update\x20failed','--menu-ids\x20must\x20contain\x20positive\x20safe\x20integers.','Would\x20update\x20','Menu\x20asset\x20update\x20completed:\x20','30926LqwkpK','label','No\x20menus\x20with\x20existing\x20resources\x20would\x20be\x20updated.','paths','trim','✓\x20Menu\x20asset\x20update\x20completed:\x20','Online\x20menu\x20list\x20fetched','POST','16fMHPyC','asset-update','\x20failed.','length','12PlQjAM'];a109_0x4f5e=function(){return _0x456d30;};return a109_0x4f5e();}function parseMenuIds(_0x32ee8e){const _0x41c962=a109_0x54615c,_0xde1895=parseCsv(_0x32ee8e),_0x3c0ed5=_0xde1895['map'](Number);if(_0x3c0ed5[_0x41c962(0x1c6)](_0x161895=>!Number['isSafeInteger'](_0x161895)||_0x161895<=0x0))throw CliErrors[_0x41c962(0x1c9)](_0x41c962(0x1e7));return[...new Set(_0x3c0ed5)];}function parseCsv(_0x14b4ff){const _0x1b92f1=a109_0x54615c;return[...new Set(_0x14b4ff[_0x1b92f1(0x1bb)](',')[_0x1b92f1(0x1ae)](_0x2ad514=>_0x2ad514[_0x1b92f1(0x1ee)]())[_0x1b92f1(0x1c8)](Boolean))];}function parseLoadScriptMode(_0x46a50a){const _0x1e9e35=a109_0x54615c;if(!_0x46a50a)return undefined;if(_0x46a50a==='import'||_0x46a50a===_0x1e9e35(0x1d6)||_0x46a50a===_0x1e9e35(0x1bf))return _0x46a50a;throw CliErrors[_0x1e9e35(0x1c9)]('Invalid\x20--load-mode.\x20Allowed\x20values:\x20import,\x20script,\x20fetch');}function parseParams(_0x455a0c){const _0x4e10a5=a109_0x54615c;if(!_0x455a0c)return{};try{const _0x1e02fb=JSON[_0x4e10a5(0x1bc)](_0x455a0c);if(typeof _0x1e02fb!==_0x4e10a5(0x1ba)||_0x1e02fb===null||Array[_0x4e10a5(0x1e4)](_0x1e02fb))return{};return{'jsUrl':typeof _0x1e02fb['jsUrl']===_0x4e10a5(0x1b2)?_0x1e02fb['jsUrl'][_0x4e10a5(0x1ee)]():undefined,'cssUrl':typeof _0x1e02fb[_0x4e10a5(0x1e3)]===_0x4e10a5(0x1b2)?_0x1e02fb[_0x4e10a5(0x1e3)][_0x4e10a5(0x1ee)]():undefined};}catch{return{};}}
|
|
1
|
+
const a109_0x4aee43=a109_0x2682;(function(_0x3d1db7,_0x5d7eb6){const _0x3b0cdc=a109_0x2682,_0x3ed3d2=_0x3d1db7();while(!![]){try{const _0x36e535=parseInt(_0x3b0cdc(0x155))/0x1+-parseInt(_0x3b0cdc(0x140))/0x2*(-parseInt(_0x3b0cdc(0x135))/0x3)+-parseInt(_0x3b0cdc(0x124))/0x4+-parseInt(_0x3b0cdc(0x131))/0x5*(parseInt(_0x3b0cdc(0x15c))/0x6)+parseInt(_0x3b0cdc(0x151))/0x7+-parseInt(_0x3b0cdc(0x112))/0x8+parseInt(_0x3b0cdc(0x146))/0x9*(parseInt(_0x3b0cdc(0x130))/0xa);if(_0x36e535===_0x5d7eb6)break;else _0x3ed3d2['push'](_0x3ed3d2['shift']());}catch(_0x43365f){_0x3ed3d2['push'](_0x3ed3d2['shift']());}}}(a109_0x5427,0xe6818));import a109_0x36ef2c from'chalk';import{filterMenusWithResources,fetchOnlineMenuList}from'../../commands/menu/shared/logic.js';import{renderUpdateSummary}from'../../commands/menu/shared/compare-table.js';import{askJsUrl,askCssUrl,askConfirm,startSpinner,stopSpinner,requireInteractive}from'../../commands/menu/shared/inquirer.js';import{CliErrors}from'../../errors.js';import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';import{runMenuUpdateCore}from'../../commands/menu/shared/update-core.js';import{selectMenusForUpdate}from'../../commands/menu/shared/update-core.js';import{isInProject}from'../../context.js';export const menuAssetUpdate={'service':a109_0x4aee43(0x15e),'command':a109_0x4aee43(0x14d),'description':'Update\x20CDN\x20asset\x20URLs\x20for\x20selected\x20online\x20menus\x20with\x20existing\x20resources','risk':a109_0x4aee43(0x168),'flags':[{'name':a109_0x4aee43(0x150),'type':a109_0x4aee43(0x128),'description':a109_0x4aee43(0x165)+a109_0x4aee43(0x12d)},{'name':a109_0x4aee43(0x116),'type':a109_0x4aee43(0x128),'description':a109_0x4aee43(0x15b)+a109_0x4aee43(0x12b),'enum':[a109_0x4aee43(0x118),'patch'],'default':'patch'},{'name':a109_0x4aee43(0x123),'type':a109_0x4aee43(0x158),'description':a109_0x4aee43(0x13a)},{'name':a109_0x4aee43(0x129),'type':'string','description':a109_0x4aee43(0x163)},{'name':a109_0x4aee43(0x148),'type':a109_0x4aee43(0x128),'description':a109_0x4aee43(0x125)},{'name':a109_0x4aee43(0x11b),'type':a109_0x4aee43(0x158),'description':'Explicitly\x20update\x20every\x20menu\x20that\x20has\x20resources'},{'name':'load-mode','type':'string','enum':['import','script',a109_0x4aee43(0x141)],'description':'Explicitly\x20change\x20the\x20microfrontend\x20resource\x20loading\x20mode'}],async 'dryRun'(_0x5adecc){const _0x5a8e09=a109_0x4aee43;ensureRunnableContext(_0x5adecc[_0x5a8e09(0x134)],_0x5adecc[_0x5a8e09(0x127)]);const _0x5953bf=await runMenuUpdateCore(_0x5adecc[_0x5a8e09(0x15a)],_0x5adecc[_0x5a8e09(0x15f)],_0x5adecc[_0x5a8e09(0x115)](_0x5a8e09(0x150)),{'mode':parseMode(_0x5adecc[_0x5a8e09(0x115)](_0x5a8e09(0x116))),'dryRun':!![],'force':_0x5adecc['bool'](_0x5a8e09(0x123)),'selection':parseSelection(_0x5adecc),'loadScriptMode':parseLoadScriptMode(_0x5adecc['str']('load-mode'))});return{'method':_0x5a8e09(0x12a),'url':_0x5a8e09(0x122),'body':_0x5953bf,'description':_0x5953bf[_0x5a8e09(0x13c)]?'No\x20menus\x20with\x20existing\x20resources\x20would\x20be\x20updated.':_0x5a8e09(0x167)+(_0x5953bf[_0x5a8e09(0x14c)]?.[_0x5a8e09(0x11e)]??0x0)+'\x20menu\x20resource\x20set(s).'};},async 'execute'(_0x5a212){const _0x39638e=a109_0x4aee43;ensureRunnableContext(_0x5a212[_0x39638e(0x134)],_0x5a212[_0x39638e(0x127)]);const _0x371669=_0x5a212[_0x39638e(0x115)](_0x39638e(0x150)),_0x3e469f=parseMode(_0x5a212[_0x39638e(0x115)](_0x39638e(0x116))),_0x881e51=_0x5a212[_0x39638e(0x133)](_0x39638e(0x123)),_0x1fac26=parseLoadScriptMode(_0x5a212[_0x39638e(0x115)](_0x39638e(0x14a))),_0x4dddc7=parseParams(_0x371669),_0x4984ac=!!(_0x4dddc7['jsUrl']||_0x4dddc7[_0x39638e(0x13e)]);if(_0x4984ac){const _0x285985=await runMenuUpdateCore(_0x5a212[_0x39638e(0x15a)],_0x5a212[_0x39638e(0x15f)],_0x371669,{'mode':_0x3e469f,'force':_0x881e51,'selection':parseSelection(_0x5a212),'loadScriptMode':_0x1fac26});return _0x285985[_0x39638e(0x13c)]?writeCliSideChannelLine(_0x39638e(0x152)):(writeCliSideChannelLine(_0x39638e(0x166)+_0x285985[_0x39638e(0x14b)]+_0x39638e(0x13d)),_0x285985[_0x39638e(0x10e)]>0x0&&writeCliSideChannelLine('!\x20'+_0x285985['failed']+_0x39638e(0x160))),{'ok':_0x285985['failed']===0x0,'data':_0x285985,'message':_0x285985[_0x39638e(0x13c)]?_0x39638e(0x111):'Menu\x20asset\x20update\x20completed:\x20'+_0x285985['updated']+_0x39638e(0x159)+_0x285985['failed']+_0x39638e(0x156)};}requireInteractive();const _0x5be40e=startSpinner(_0x39638e(0x137));let _0x58d8f3;try{_0x58d8f3=await fetchOnlineMenuList(_0x5a212[_0x39638e(0x15a)],_0x5a212[_0x39638e(0x15f)]),stopSpinner(_0x5be40e,_0x39638e(0x121),!![]);}catch(_0x1a17c8){stopSpinner(_0x5be40e,_0x39638e(0x10f),![]);throw CliErrors['validation'](_0x1a17c8 instanceof Error?_0x1a17c8[_0x39638e(0x14e)]:_0x39638e(0x10f));}const _0x3fffb5=filterMenusWithResources(_0x58d8f3),_0x21de03=parseSelection(_0x5a212,![]),_0x1080bd=_0x21de03?selectMenusForUpdate(_0x3fffb5,_0x21de03):_0x3fffb5;if(_0x1080bd[_0x39638e(0x11e)]===0x0)return writeCliSideChannelLine(a109_0x36ef2c['yellow'](_0x39638e(0x126))),{'ok':!![]};writeCliSideChannelLine(''),writeCliSideChannelLine(a109_0x36ef2c[_0x39638e(0x136)](_0x39638e(0x157)+_0x1080bd[_0x39638e(0x11e)]+_0x39638e(0x14f))),writeCliSideChannelLine(renderUpdateSummary(_0x1080bd[_0x39638e(0x114)](_0x47caaf=>_0x47caaf[_0x39638e(0x143)]),[_0x4dddc7[_0x39638e(0x117)],_0x4dddc7[_0x39638e(0x13e)]])),writeCliSideChannelLine('');let _0x32d340=_0x4dddc7['jsUrl'],_0x350eed=_0x4dddc7[_0x39638e(0x13e)];!_0x32d340&&(_0x32d340=await askJsUrl());!_0x350eed&&(_0x350eed=await askCssUrl());const _0x3db7b6=await askConfirm(_0x39638e(0x142)+_0x1080bd[_0x39638e(0x11e)]+_0x39638e(0x13f)+_0x32d340+_0x39638e(0x164)+_0x350eed+'?');if(!_0x3db7b6)return writeCliSideChannelLine(a109_0x36ef2c['gray'](_0x39638e(0x11d))),{'ok':!![]};const _0x4a7f15=startSpinner(_0x39638e(0x144)+_0x1080bd[_0x39638e(0x11e)]+'\x20menu(s)...');try{const _0x423667=await runMenuUpdateCore(_0x5a212[_0x39638e(0x15a)],_0x5a212[_0x39638e(0x15f)],JSON[_0x39638e(0x162)]({'jsUrl':_0x32d340,'cssUrl':_0x350eed}),{'mode':_0x3e469f,'force':_0x881e51,'selection':{'all':![],'menuIds':_0x1080bd[_0x39638e(0x114)](_0x4a892e=>_0x4a892e['id']),'paths':[]},'loadScriptMode':_0x1fac26});return stopSpinner(_0x4a7f15,_0x39638e(0x12c)+_0x423667['updated']+_0x39638e(0x13b),_0x423667['failed']===0x0),{'ok':_0x423667[_0x39638e(0x10e)]===0x0,'data':_0x423667,'message':_0x423667[_0x39638e(0x10e)]>0x0?'Menu\x20asset\x20update\x20completed:\x20'+_0x423667[_0x39638e(0x14b)]+_0x39638e(0x159)+_0x423667[_0x39638e(0x10e)]+_0x39638e(0x156):'Menu\x20asset\x20update\x20completed:\x20'+_0x423667[_0x39638e(0x14b)]+_0x39638e(0x113)};}catch(_0x5c9848){stopSpinner(_0x4a7f15,_0x39638e(0x139),![]);throw CliErrors[_0x39638e(0x138)](_0x5c9848 instanceof Error?_0x5c9848['message']:_0x39638e(0x139));}}};function ensureRunnableContext(_0x3fbc9d,_0x3718a3){const _0x27173d=a109_0x4aee43,_0x4dbd02=_0x3fbc9d[_0x27173d(0x110)]?String(_0x3fbc9d[_0x27173d(0x110)])[_0x27173d(0x11f)]():'';if(!isInProject()&&!_0x3718a3&&!_0x4dbd02)throw CliErrors[_0x27173d(0x138)](_0x27173d(0x161)+_0x27173d(0x15d));}function a109_0x5427(){const _0x383ab0=['fetch','\x20\x20Update\x20','label','Updating\x20','--all\x20cannot\x20be\x20combined\x20with\x20--menu-ids\x20or\x20--paths.','9csrPJP','import','paths','split','load-mode','updated','diffs','asset-update','message','\x20menu(s)\x20with\x20existing\x20resources','params','1319983GtzeUC','!\x20No\x20menus\x20with\x20existing\x20resources\x20found','script','--menu-ids\x20must\x20contain\x20positive\x20safe\x20integers.','887173WQnwbh','\x20failed.','\x20\x20Found\x20','boolean','\x20updated,\x20','appCode','Resource\x20update\x20mode:\x20replace\x20rewrites\x20resources\x20from\x20supplied\x20URLs;\x20','138vvDfcg','Run\x20inside\x20a\x20directory\x20with\x20.rabetbase.json,\x20or\x20pass\x20--appcode\x20<code>.','menu','cookie','\x20menu(s)\x20failed','menu\x20asset-update\x20requires\x20a\x20project\x20context\x20or\x20explicit\x20--appcode.\x20','stringify','Exact\x20comma-separated\x20menu\x20IDs\x20to\x20update','\x20and\x20CSS:\x20','Pre-fill\x20JS/CSS\x20URLs\x20to\x20update.\x20','✓\x20Menu\x20asset\x20update\x20completed:\x20','Would\x20update\x20','write','failed','Failed\x20to\x20fetch\x20online\x20menu\x20list','appcode','Menu\x20asset\x20update\x20skipped','13558184cTyQGe','\x20updated.','map','str','mode','jsUrl','replace','Invalid\x20--mode.\x20Allowed\x20values:\x20replace,\x20patch','parse','all','isArray','\x20\x20Cancelled.','length','trim','filter','Online\x20menu\x20list\x20fetched','/smartapi/menu/update','force','2978284rghgbE','Exact\x20comma-separated\x20menu\x20paths\x20to\x20update','\x20\x20!\x20No\x20menus\x20with\x20existing\x20resources\x20found','selectedAppName','string','menu-ids','POST','patch\x20replaces\x20a\x20supplied\x20type\x20only\x20when\x20the\x20existing\x20target\x20is\x20unambiguous','Updated\x20','JSON:\x20{\x22jsUrl\x22:\x22https://...js\x22,\x22cssUrl\x22:\x22https://...css\x22}','isSafeInteger','some','14616590Sxvzwr','88280OWAsfq','patch','bool','rawFlags','3VDOWhQ','cyan','Fetching\x20online\x20menu\x20list...','validation','Menu\x20asset\x20update\x20failed','Allow\x20replace\x20mode\x20to\x20remove\x20existing\x20JS\x20resources','\x20menu(s)','skipped','\x20menu(s)\x20updated','cssUrl','\x20menu(s)\x20with\x20JS:\x20','2504366eDrphm'];a109_0x5427=function(){return _0x383ab0;};return a109_0x5427();}function parseMode(_0xad6a7){const _0x583556=a109_0x4aee43;if(!_0xad6a7)return _0x583556(0x132);if(_0xad6a7===_0x583556(0x118)||_0xad6a7===_0x583556(0x132))return _0xad6a7;throw CliErrors[_0x583556(0x138)](_0x583556(0x119));}function a109_0x2682(_0x41e709,_0x589f85){_0x41e709=_0x41e709-0x10e;const _0x542710=a109_0x5427();let _0x26827d=_0x542710[_0x41e709];return _0x26827d;}function parseSelection(_0x260320,_0x4d1149=!![]){const _0x348d0c=a109_0x4aee43,_0x1e8e85=_0x260320[_0x348d0c(0x133)](_0x348d0c(0x11b)),_0x4e9f8c=parseMenuIds(_0x260320[_0x348d0c(0x115)](_0x348d0c(0x129))),_0x5776a7=parseCsv(_0x260320['str'](_0x348d0c(0x148))),_0x32ee99=_0x4e9f8c['length']>0x0||_0x5776a7[_0x348d0c(0x11e)]>0x0;if(_0x1e8e85&&_0x32ee99)throw CliErrors[_0x348d0c(0x138)](_0x348d0c(0x145));if(!_0x1e8e85&&!_0x32ee99){if(!_0x4d1149)return undefined;throw CliErrors[_0x348d0c(0x138)]('menu\x20asset-update\x20requires\x20an\x20explicit\x20target:\x20pass\x20--all,\x20--menu-ids,\x20or\x20--paths.');}return{'all':_0x1e8e85,'menuIds':_0x4e9f8c,'paths':_0x5776a7};}function parseMenuIds(_0x305f98){const _0x265749=a109_0x4aee43,_0x1bdfe0=parseCsv(_0x305f98),_0x59c21a=_0x1bdfe0['map'](Number);if(_0x59c21a[_0x265749(0x12f)](_0x198eb0=>!Number[_0x265749(0x12e)](_0x198eb0)||_0x198eb0<=0x0))throw CliErrors[_0x265749(0x138)](_0x265749(0x154));return[...new Set(_0x59c21a)];}function parseCsv(_0x593e13){const _0x5f73d8=a109_0x4aee43;return[...new Set(_0x593e13[_0x5f73d8(0x149)](',')[_0x5f73d8(0x114)](_0x43ca51=>_0x43ca51[_0x5f73d8(0x11f)]())[_0x5f73d8(0x120)](Boolean))];}function parseLoadScriptMode(_0x101e05){const _0x3de0d9=a109_0x4aee43;if(!_0x101e05)return undefined;if(_0x101e05===_0x3de0d9(0x147)||_0x101e05===_0x3de0d9(0x153)||_0x101e05===_0x3de0d9(0x141))return _0x101e05;throw CliErrors[_0x3de0d9(0x138)]('Invalid\x20--load-mode.\x20Allowed\x20values:\x20import,\x20script,\x20fetch');}function parseParams(_0x22f38b){const _0x5c2424=a109_0x4aee43;if(!_0x22f38b)return{};try{const _0x56743c=JSON[_0x5c2424(0x11a)](_0x22f38b);if(typeof _0x56743c!=='object'||_0x56743c===null||Array[_0x5c2424(0x11c)](_0x56743c))return{};return{'jsUrl':typeof _0x56743c[_0x5c2424(0x117)]===_0x5c2424(0x128)?_0x56743c[_0x5c2424(0x117)]['trim']():undefined,'cssUrl':typeof _0x56743c[_0x5c2424(0x13e)]===_0x5c2424(0x128)?_0x56743c[_0x5c2424(0x13e)]['trim']():undefined};}catch{return{};}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a110_0x46b9ee=a110_0xaee6;(function(_0x310c50,_0x15633c){const _0xdd4660=a110_0xaee6,_0x11293a=_0x310c50();while(!![]){try{const _0x1881e7=-parseInt(_0xdd4660(0x187))/0x1+-parseInt(_0xdd4660(0x1c4))/0x2*(-parseInt(_0xdd4660(0x178))/0x3)+-parseInt(_0xdd4660(0x1bc))/0x4+parseInt(_0xdd4660(0x185))/0x5+parseInt(_0xdd4660(0x1b3))/0x6*(-parseInt(_0xdd4660(0x188))/0x7)+parseInt(_0xdd4660(0x176))/0x8+parseInt(_0xdd4660(0x1b2))/0x9;if(_0x1881e7===_0x15633c)break;else _0x11293a['push'](_0x11293a['shift']());}catch(_0x13db90){_0x11293a['push'](_0x11293a['shift']());}}}(a110_0x3e31,0x653ea));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{assertMenuDeletePlanCurrent,assertMenuDeletePlanExecutable,createMenuDeletePlanFile,mutationPlanFromDeleteFile,readMenuDeletePlan,writeMenuDeletePlan}from'../../commands/menu/shared/delete-plan.js';function a110_0xaee6(_0x2f93b1,_0x4f30ac){_0x2f93b1=_0x2f93b1-0x14e;const _0x3e315c=a110_0x3e31();let _0xaee6af=_0x3e315c[_0x2f93b1];return _0xaee6af;}import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,asVerificationError,assertExpectedState,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{batchDeleteMenuEntities}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';function a110_0x3e31(){const _0x2673e7=['Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.','deleteOrder','menu_plan_invalid','type','--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.','map','One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20','Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)','join','menu_batch_delete_count_mismatch','hash','The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','pages','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.','\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.','\x20has\x20','\x20is\x20unexpectedly\x20bound\x20to\x20page\x20','expect-parent-id','\x20still\x20references\x20','menu_verification_failed','snapshotHash','has','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','string','Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20','childrenIds','Batch\x20delete\x20request\x20for\x20menu\x20','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence','delete','Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','plan','Recursive\x20menu\x20delete\x20plan\x20root\x20','absentIds','menu\x20list','rabetbase\x20menu\x20list\x20--format\x20json','resources','Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file','expect-path','POST','indexOf','The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.','folder','read\x20menu\x20state\x20after\x20batch\x20delete\x20failure','menu_folder_has_resources','\x20is\x20type\x20\x22','Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first','createdAt','336632rSMVHj',';\x20execution\x20must\x20consume\x20','7491JiBQMB','verification','):\x20','byId','filter','Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.','resourcesValid','read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch','selector','Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.','pageId','\x20deleted\x20menus;\x20expected\x20','\x20is\x20not\x20a\x20folder.','1523170txTcFW','batch-delete-menu','794304WVaRic','9653HqsPWZ','forEach','Folder\x20','batch\x20delete','The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.','Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.','recursive','\x20menu(s)\x20under\x20exact\x20id\x20','length','menu','stringify','\x20->\x20menu\x20','str','flagMissing','Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20','failed','high-risk-write','menu_delete_page_bound','Deleted\x20','Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out','target','appCode','path','push','causeCode','dry-run','menus','causeMessage','menu_page_shared','menu_non_empty','--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.','Menu\x20','unconfirmed','remainingIds','batch-delete','pre-write-plan-validation','menu_recursive_requires_folder','expected-children-count','/smartapi/menu/batchDelete','trim','cookie','9754047Qgjrxf','168yxxLyw','Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.','validation','cascade','childrenCount','menu_tree_invalid','snapshot','Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20','verify\x20batch\x20delete','2809032YmiYId','The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.','add','\x20resource\x20URL(s).','boolean','plan\x20delete','page\x20','Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.','416uWNEkt','\x20references\x20missing\x20child\x20','plan-out','expiresAt'];a110_0x3e31=function(){return _0x2673e7;};return a110_0x3e31();}const BACKEND=[{'method':a110_0x46b9ee(0x16d),'path':a110_0x46b9ee(0x1af)}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':a110_0x46b9ee(0x14e)},MENU_DELETE_RECURSIVE_FLAG={'name':a110_0x46b9ee(0x18e),'type':a110_0x46b9ee(0x1c0),'description':a110_0x46b9ee(0x174)},MENU_DELETE_PLAN_OUT_FLAG={'name':a110_0x46b9ee(0x1c6),'type':a110_0x46b9ee(0x15e),'description':a110_0x46b9ee(0x16b)},MENU_DELETE_PLAN_FLAG={'name':a110_0x46b9ee(0x165),'type':a110_0x46b9ee(0x15e),'description':a110_0x46b9ee(0x19b)};export const menuDelete={'service':a110_0x46b9ee(0x191),'command':a110_0x46b9ee(0x163),'description':a110_0x46b9ee(0x164),'risk':a110_0x46b9ee(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'(_0x5e3529){const _0x2f9f81=a110_0x46b9ee;_0x5e3529['bool'](_0x2f9f81(0x1a1))?validateDeleteDryRunInput(_0x5e3529):validateDeleteExecuteInput(_0x5e3529),requireExplicitYes(_0x5e3529);},async 'dryRun'(_0x667b39){const _0x4f4d00=a110_0x46b9ee;validateDeleteDryRunInput(_0x667b39);const _0x5e0b67=await buildDeletePlan(_0x667b39),_0x5f04a3=createMenuDeletePlanFile(_0x667b39[_0x4f4d00(0x19d)],_0x5e0b67),_0x5e274b=await writeMenuDeletePlan(_0x667b39[_0x4f4d00(0x194)]('plan-out'),_0x5f04a3),_0x1c9898=mutationResult({..._0x5e0b67,'planFile':{'path':_0x5e274b,'createdAt':_0x5f04a3[_0x4f4d00(0x175)],'expiresAt':_0x5f04a3[_0x4f4d00(0x1c7)]}});return menuDryRunResult(_0x1c9898,{'method':_0x4f4d00(0x16d),'url':_0x4f4d00(0x1af),'body':{'idList':_0x1c9898[_0x4f4d00(0x1c9)]},'description':'Would\x20batch\x20delete\x20'+(_0x1c9898['deleteOrder']?.['length']??0x1)+_0x4f4d00(0x18f)+_0x1c9898[_0x4f4d00(0x180)]['id']+_0x4f4d00(0x177)+_0x5e274b+'.'});},async 'execute'(_0x28da80){const _0xa1d8df=a110_0x46b9ee;requireExplicitYes(_0x28da80),validateDeleteExecuteInput(_0x28da80);const _0x30b2b8=await readMenuDeletePlan(_0x28da80[_0xa1d8df(0x194)](_0xa1d8df(0x165))),_0xa5b19d=mutationPlanFromDeleteFile(_0x30b2b8[_0xa1d8df(0x165)],_0x30b2b8[_0xa1d8df(0x19e)]),_0x3679c9=_0x30b2b8['plan'][_0xa1d8df(0x19c)]['id'];try{assertMenuDeletePlanExecutable(_0x30b2b8[_0xa1d8df(0x165)],_0x28da80[_0xa1d8df(0x19d)]);}catch(_0x1c3636){throw menuFailure(asMenuError(_0x1c3636),_0xa5b19d,{'stage':'plan-validation','failed':{'id':_0x3679c9}});}let _0x247573,_0xfdcb1b;try{_0x247573=await fetchMutationSnapshot(_0x28da80,'execute\x20reviewed\x20delete\x20plan',_0x3679c9),_0xfdcb1b=assertMenuDeletePlanCurrent(_0x30b2b8[_0xa1d8df(0x165)],_0x28da80[_0xa1d8df(0x19d)],_0x247573),assertDeleteTargetsComplete(_0x30b2b8[_0xa1d8df(0x165)],_0x247573),_0xfdcb1b[_0xa1d8df(0x189)](_0x4aab66=>assertDeleteSafety(_0x4aab66,_0x30b2b8[_0xa1d8df(0x165)]['recursive'])),assertNoSharedPages(_0x247573,_0xfdcb1b),assertCascadeMatchesPlan(_0xa5b19d,_0xfdcb1b);}catch(_0x3c10e5){throw menuFailure(asMenuError(_0x3c10e5),_0xa5b19d,{'stage':_0xa1d8df(0x1ac),'failed':{'id':_0x3679c9}});}const _0x50b64a=_0x30b2b8[_0xa1d8df(0x165)][_0xa1d8df(0x1c9)];let _0x28963c;try{_0x28963c=await batchDeleteMenuEntities(_0x28da80[_0xa1d8df(0x1b1)],_0x50b64a);}catch(_0x3d1a72){const _0x3520aa=mapMenuApiError(_0x3d1a72,_0xa1d8df(0x18b)),_0xf4bfd0=[_0xa1d8df(0x1bd)];let _0x1ff316;try{_0x1ff316=await readDeleteOutcome(_0x28da80,_0x50b64a);}catch(_0x42d094){const _0x25467d=describeMenuErrorCause(_0x42d094,_0xa1d8df(0x171),_0x3679c9);_0xf4bfd0[_0xa1d8df(0x19f)]('Post-failure\x20menu\x20readback\x20failed\x20('+_0x25467d['causeCode']+_0xa1d8df(0x17a)+_0x25467d[_0xa1d8df(0x1a3)]);throw menuFailure(_0x3520aa,_0xa5b19d,{'stage':_0xa1d8df(0x1ab),'failed':{'targetIds':_0x50b64a,'targetIdsAbsent':'unconfirmed',..._0x25467d},'warnings':_0xf4bfd0,'verification':{'status':_0xa1d8df(0x197),'lookupCommand':_0xa1d8df(0x169),'targetIds':_0x50b64a}});}throw menuFailure(_0x3520aa,_0xa5b19d,{'stage':_0xa1d8df(0x1ab),'succeeded':_0x1ff316[_0xa1d8df(0x167)][_0xa1d8df(0x1cd)](_0x5347ef=>({'id':_0x5347ef,'deleted':!![]})),'failed':{'targetIds':_0x50b64a,'absentIds':_0x1ff316[_0xa1d8df(0x167)],'remainingIds':_0x1ff316[_0xa1d8df(0x1aa)]},'warnings':_0xf4bfd0,'verification':verificationFromOutcome(_0x1ff316)});}if(_0x28963c!==_0x50b64a[_0xa1d8df(0x190)]){const _0x345df8=menuError(_0xa1d8df(0x150),'Backend\x20reported\x20'+_0x28963c+_0xa1d8df(0x183)+_0x50b64a[_0xa1d8df(0x190)]+'.',_0xa1d8df(0x15d)),_0x300ebb=[_0xa1d8df(0x18c)];let _0x4e9157;try{_0x4e9157=await readDeleteOutcome(_0x28da80,_0x50b64a);}catch(_0x379029){const _0x1441f5=describeMenuErrorCause(_0x379029,_0xa1d8df(0x17f),_0x3679c9);_0x300ebb[_0xa1d8df(0x19f)]('Post-mismatch\x20menu\x20readback\x20failed\x20('+_0x1441f5[_0xa1d8df(0x1a0)]+_0xa1d8df(0x17a)+_0x1441f5['causeMessage']);throw menuFailure(_0x345df8,_0xa5b19d,{'stage':'batch-delete','failed':{'targetIds':_0x50b64a,'expectedCount':_0x50b64a['length'],'reportedDeletedCount':_0x28963c,'targetIdsAbsent':_0xa1d8df(0x1a9),..._0x1441f5},'warnings':_0x300ebb,'verification':{'status':_0xa1d8df(0x197),'lookupCommand':_0xa1d8df(0x169),'targetIds':_0x50b64a}});}throw menuFailure(_0x345df8,_0xa5b19d,{'stage':_0xa1d8df(0x1ab),'succeeded':_0x4e9157['absentIds'][_0xa1d8df(0x1cd)](_0x495800=>({'id':_0x495800,'deleted':!![]})),'failed':{'targetIds':_0x50b64a,'expectedCount':_0x50b64a['length'],'reportedDeletedCount':_0x28963c,'absentIds':_0x4e9157[_0xa1d8df(0x167)],'remainingIds':_0x4e9157['remainingIds']},'warnings':_0x300ebb,'verification':verificationFromOutcome(_0x4e9157)});}let _0xd5fbad;try{_0xd5fbad=await readDeleteOutcome(_0x28da80,_0x50b64a);}catch(_0x498106){const _0x116d28=describeMenuErrorCause(_0x498106,_0xa1d8df(0x1bb),_0x3679c9),_0x1bc8b7=asVerificationError(_0x498106,_0xa1d8df(0x161)+_0x3679c9+_0xa1d8df(0x162));throw menuFailure(_0x1bc8b7,_0xa5b19d,{'stage':'verification','succeeded':_0x50b64a[_0xa1d8df(0x1cd)](_0x4badeb=>({'id':_0x4badeb,'deleteRequested':!![]})),'failed':{'id':_0x3679c9,'targetIds':_0x50b64a,'targetIdsAbsent':_0xa1d8df(0x1a9),..._0x116d28},'warnings':[_0xa1d8df(0x152)],'verification':{'status':_0xa1d8df(0x197),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetIds':_0x50b64a}});}if(_0xd5fbad['remainingIds'][_0xa1d8df(0x190)]>0x0){const _0x1a638d=menuError(_0xa1d8df(0x15a),_0xa1d8df(0x1ce)+_0xd5fbad[_0xa1d8df(0x1aa)]['join'](',\x20')+'.',_0xa1d8df(0x15d));throw menuFailure(_0x1a638d,_0xa5b19d,{'stage':_0xa1d8df(0x179),'succeeded':_0x50b64a[_0xa1d8df(0x1cd)](_0x3233df=>({'id':_0x3233df,'deleteRequested':!![]})),'failed':{'id':_0x3679c9,'targetIds':_0x50b64a,'absentIds':_0xd5fbad[_0xa1d8df(0x167)],'remainingIds':_0xd5fbad[_0xa1d8df(0x1aa)]},'warnings':[_0xa1d8df(0x16f)],'verification':verificationFromOutcome(_0xd5fbad)});}const _0x2a4f40=_0x50b64a[_0xa1d8df(0x1cd)](_0x4eb08b=>({'id':_0x4eb08b,'deleted':!![]})),_0x742e3c=mutationResult({..._0xa5b19d,'dryRun':![],'succeeded':_0x2a4f40,'verification':{'checkedBy':_0xa1d8df(0x168),'plannedSnapshotHash':_0xa5b19d[_0xa1d8df(0x15b)],'finalSnapshotHash':_0xd5fbad[_0xa1d8df(0x1b9)][_0xa1d8df(0x151)],'reportedDeletedCount':_0x28963c,'targetAbsent':!_0xd5fbad[_0xa1d8df(0x1b9)][_0xa1d8df(0x17b)]['has'](_0x3679c9),'allTargetsAbsent':!![],'targetIds':_0x50b64a}});return{'ok':!![],'data':_0x742e3c,'message':_0xa1d8df(0x19a)+_0x2a4f40['length']+_0xa1d8df(0x18f)+_0x3679c9+'.'};}};async function readDeleteOutcome(_0x145df0,_0x1f5305){const _0x3e4c52=a110_0x46b9ee,_0x5945c3=await fetchMenuSnapshot(_0x145df0[_0x3e4c52(0x19d)],_0x145df0[_0x3e4c52(0x1b1)]);return{'snapshot':_0x5945c3,'absentIds':_0x1f5305[_0x3e4c52(0x17c)](_0xc361ab=>!_0x5945c3[_0x3e4c52(0x17b)][_0x3e4c52(0x15c)](_0xc361ab)),'remainingIds':_0x1f5305['filter'](_0x10485f=>_0x5945c3[_0x3e4c52(0x17b)][_0x3e4c52(0x15c)](_0x10485f))};}function verificationFromOutcome(_0x558bf8){const _0x37b8f7=a110_0x46b9ee;return{'checkedBy':_0x37b8f7(0x168),'absentIds':_0x558bf8[_0x37b8f7(0x167)],'remainingIds':_0x558bf8[_0x37b8f7(0x1aa)]};}function validateDeleteDryRunInput(_0x12c288){const _0x48956b=a110_0x46b9ee;validateExactId(_0x12c288);if(!hasFlag(_0x12c288,_0x48956b(0x1c6))||!_0x12c288[_0x48956b(0x194)](_0x48956b(0x1c6))[_0x48956b(0x1b0)]())throw CliErrors['flagMissing'](_0x48956b(0x1c6),_0x48956b(0x1a6));if(hasFlag(_0x12c288,_0x48956b(0x165)))throw CliErrors[_0x48956b(0x1b5)]('--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.');}function validateDeleteExecuteInput(_0xe0d62e){const _0x150511=a110_0x46b9ee;if(!hasFlag(_0xe0d62e,'plan')||!_0xe0d62e['str']('plan')['trim']())throw CliErrors[_0x150511(0x195)](_0x150511(0x165),_0x150511(0x1cc));const _0x57e979=['id',_0x150511(0x18e),_0x150511(0x1c6),_0x150511(0x158),_0x150511(0x16c),_0x150511(0x1ae)][_0x150511(0x17c)](_0xb47725=>hasFlag(_0xe0d62e,_0xb47725));if(_0x57e979[_0x150511(0x190)]>0x0)throw CliErrors['validation']('Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20'+_0x57e979[_0x150511(0x1cd)](_0x462e79=>'--'+_0x462e79)[_0x150511(0x14f)](',\x20')+'.');}async function buildDeletePlan(_0x165f1b){const _0x229b5c=a110_0x46b9ee,_0x3e1923=validateExactId(_0x165f1b),_0x368529=await fetchMutationSnapshot(_0x165f1b,_0x229b5c(0x1c1),_0x3e1923),_0x1ac166=requireMenu(_0x368529,_0x3e1923);assertExpectedState(_0x165f1b,_0x1ac166);const _0x2de3d0=_0x165f1b['bool'](_0x229b5c(0x18e));let _0x1b9f12;if(_0x2de3d0){if(_0x1ac166['type'][_0x229b5c(0x1b0)]()['toLowerCase']()!==_0x229b5c(0x170))throw menuError(_0x229b5c(0x1ad),_0x229b5c(0x1a8)+_0x1ac166['id']+_0x229b5c(0x173)+(_0x1ac166[_0x229b5c(0x1cb)]||'unknown')+'\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.');_0x1b9f12=collectDeleteTargets(_0x368529,_0x1ac166),_0x1b9f12[_0x229b5c(0x189)](_0x343d4a=>assertDeleteSafety(_0x343d4a,!![]));}else assertDeleteSafety(_0x1ac166),_0x1b9f12=[_0x1ac166];assertNoSharedPages(_0x368529,_0x1b9f12);const _0x5a70ee=_0x1b9f12[_0x229b5c(0x1cd)](_0xab8d86=>_0xab8d86['id']),_0x3e27db=cascadeForTargets(_0x1b9f12),_0xcd4512=_0x3e27db[_0x229b5c(0x153)][_0x229b5c(0x190)]>0x0?[_0x229b5c(0x18d)]:[];return mutationResult({'operation':_0x229b5c(0x163),'selector':{'id':_0x3e1923,'recursive':_0x2de3d0},'before':_0x1ac166,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':_0x229b5c(0x186),'method':_0x229b5c(0x16d),'path':_0x229b5c(0x1af),'body':{'idList':_0x5a70ee}}],'targets':_0x1b9f12,'deleteOrder':_0x5a70ee,'snapshotHash':_0x368529[_0x229b5c(0x151)],'cascade':_0x3e27db,'warnings':_0xcd4512});}function assertDeleteSafety(_0x15a3a6,_0x298f25=![]){const _0x25b5a4=a110_0x46b9ee,_0x170efc=_0x15a3a6[_0x25b5a4(0x1cb)][_0x25b5a4(0x1b0)]()['toLowerCase']()==='folder';if(_0x15a3a6[_0x25b5a4(0x1b7)]>0x0&&(!_0x298f25||!_0x170efc))throw menuError(_0x25b5a4(0x1a5),_0x25b5a4(0x1a8)+_0x15a3a6['id']+_0x25b5a4(0x156)+_0x15a3a6[_0x25b5a4(0x1b7)]+'\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.',_0x25b5a4(0x196)+_0x15a3a6[_0x25b5a4(0x160)][_0x25b5a4(0x14f)](',\x20'));if(_0x170efc&&_0x15a3a6[_0x25b5a4(0x182)]!=null)throw menuError(_0x25b5a4(0x199),_0x25b5a4(0x18a)+_0x15a3a6['id']+_0x25b5a4(0x157)+_0x15a3a6[_0x25b5a4(0x182)]+'\x20and\x20cannot\x20be\x20deleted\x20safely.',_0x25b5a4(0x17d));if(!_0x170efc)return;if(!_0x15a3a6[_0x25b5a4(0x17e)])throw menuError('menu_folder_resources_invalid','Folder\x20'+_0x15a3a6['id']+_0x25b5a4(0x155),_0x25b5a4(0x181));if(_0x15a3a6[_0x25b5a4(0x16a)][_0x25b5a4(0x190)]>0x0)throw menuError(_0x25b5a4(0x172),_0x25b5a4(0x18a)+_0x15a3a6['id']+_0x25b5a4(0x159)+_0x15a3a6[_0x25b5a4(0x16a)][_0x25b5a4(0x190)]+_0x25b5a4(0x1bf),_0x25b5a4(0x1c8));}function collectDeleteTargets(_0xef6c46,_0x544046){const _0x1f0bc2=[],_0x38c8a9=new Set(),_0x44337a=new Set(),_0x5b7d57=_0x19f91e=>{const _0x4b8b10=a110_0xaee6;if(_0x38c8a9[_0x4b8b10(0x15c)](_0x19f91e['id']))throw menuError('menu_tree_invalid',_0x4b8b10(0x1ba)+_0x19f91e['id']+'.');if(_0x44337a[_0x4b8b10(0x15c)](_0x19f91e['id']))return;_0x38c8a9[_0x4b8b10(0x1be)](_0x19f91e['id']);for(const _0x12b29b of _0x19f91e[_0x4b8b10(0x160)]){const _0x1cb532=_0xef6c46[_0x4b8b10(0x17b)]['get'](_0x12b29b);if(!_0x1cb532)throw menuError(_0x4b8b10(0x1b8),_0x4b8b10(0x1a8)+_0x19f91e['id']+_0x4b8b10(0x1c5)+_0x12b29b+'.');_0x5b7d57(_0x1cb532);}_0x38c8a9['delete'](_0x19f91e['id']),_0x44337a[_0x4b8b10(0x1be)](_0x19f91e['id']),_0x1f0bc2[_0x4b8b10(0x19f)](_0x19f91e);};return _0x5b7d57(_0x544046),_0x1f0bc2;}function assertDeleteTargetsComplete(_0x24a54f,_0xee7264){const _0x18fc63=a110_0x46b9ee,_0x278567=requireMenu(_0xee7264,_0x24a54f[_0x18fc63(0x19c)]['id']);if(_0x24a54f[_0x18fc63(0x18e)]&&_0x278567[_0x18fc63(0x1cb)]['trim']()['toLowerCase']()!==_0x18fc63(0x170))throw menuError(_0x18fc63(0x1ca),_0x18fc63(0x166)+_0x278567['id']+_0x18fc63(0x184));const _0x1e6597=_0x24a54f[_0x18fc63(0x18e)]?collectDeleteTargets(_0xee7264,_0x278567)[_0x18fc63(0x1cd)](_0x4b5291=>_0x4b5291['id']):[_0x278567['id']];if(JSON[_0x18fc63(0x192)](_0x24a54f[_0x18fc63(0x1c9)])!==JSON[_0x18fc63(0x192)](_0x1e6597))throw menuError(_0x18fc63(0x1ca),_0x18fc63(0x1c3),_0x18fc63(0x1a7));}function assertNoSharedPages(_0x52aa31,_0x507fd8){const _0x475a7e=a110_0x46b9ee,_0x88b1d9=new Set(_0x507fd8['map'](_0x2e9553=>_0x2e9553['id'])),_0x92d799=new Set(_0x507fd8[_0x475a7e(0x1cd)](_0x12d654=>_0x12d654[_0x475a7e(0x182)])[_0x475a7e(0x17c)](_0x4c5828=>_0x4c5828!=null));if(_0x92d799['size']===0x0)return;const _0x477fe2=_0x52aa31[_0x475a7e(0x1a2)][_0x475a7e(0x17c)](_0x5e682a=>!_0x88b1d9[_0x475a7e(0x15c)](_0x5e682a['id'])&&_0x5e682a[_0x475a7e(0x182)]!=null&&_0x92d799[_0x475a7e(0x15c)](_0x5e682a['pageId']));if(_0x477fe2['length']===0x0)return;const _0x286a28=_0x477fe2[_0x475a7e(0x1cd)](_0xc266f5=>_0x475a7e(0x1c2)+_0xc266f5[_0x475a7e(0x182)]+_0x475a7e(0x193)+_0xc266f5['id'])['join'](',\x20');throw menuError(_0x475a7e(0x1a4),_0x475a7e(0x15f)+_0x286a28+'.',_0x475a7e(0x154));}function assertCascadeMatchesPlan(_0x45810e,_0x17a4f9){const _0x5dcac8=a110_0x46b9ee,_0x41ac9c=cascadeForTargets(_0x17a4f9);if(JSON['stringify'](_0x45810e[_0x5dcac8(0x1b6)])!==JSON['stringify'](_0x41ac9c))throw menuError('menu_plan_invalid',_0x5dcac8(0x1b4));}function cascadeForTargets(_0x1d01b3){const _0x11782b=a110_0x46b9ee,_0x216122=_0x1d01b3['map'](_0x560d54=>_0x560d54[_0x11782b(0x182)])[_0x11782b(0x17c)](_0x12dbe5=>_0x12dbe5!=null)[_0x11782b(0x17c)]((_0x48e61c,_0x750cca,_0x3cd90d)=>_0x3cd90d[_0x11782b(0x16e)](_0x48e61c)===_0x750cca);return{'pages':_0x216122,'pageSchemaAffected':_0x216122[_0x11782b(0x190)]>0x0};}function asMenuError(_0x5497ea){const _0x1869f8=a110_0x46b9ee;return _0x5497ea instanceof CliError?_0x5497ea:menuError(_0x1869f8(0x1ca),_0x5497ea instanceof Error?_0x5497ea['message']:String(_0x5497ea));}
|
|
1
|
+
const a110_0x547249=a110_0x3870;(function(_0x255920,_0x422bf7){const _0x115049=a110_0x3870,_0x583888=_0x255920();while(!![]){try{const _0x34e321=-parseInt(_0x115049(0x113))/0x1*(-parseInt(_0x115049(0x151))/0x2)+-parseInt(_0x115049(0x14d))/0x3+-parseInt(_0x115049(0x152))/0x4+parseInt(_0x115049(0x13f))/0x5+parseInt(_0x115049(0x10a))/0x6*(-parseInt(_0x115049(0x135))/0x7)+parseInt(_0x115049(0x153))/0x8+-parseInt(_0x115049(0x131))/0x9*(-parseInt(_0x115049(0x14c))/0xa);if(_0x34e321===_0x422bf7)break;else _0x583888['push'](_0x583888['shift']());}catch(_0x2f0870){_0x583888['push'](_0x583888['shift']());}}}(a110_0x306c,0x265ff));function a110_0x3870(_0x566982,_0x291556){_0x566982=_0x566982-0xf1;const _0x306c3b=a110_0x306c();let _0x38705f=_0x306c3b[_0x566982];return _0x38705f;}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 a110_0x306c(){const _0x2f947c=['Folder\x20','\x20has\x20','read\x20menu\x20state\x20after\x20batch\x20delete\x20failure','cookie','expect-path','target','resources','Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.','21915dyCucx','Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file','):\x20','\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.','39123iVWJvU','batch-delete-menu','string','Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.','Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','filter','\x20is\x20unexpectedly\x20bound\x20to\x20page\x20','\x20resource\x20URL(s).','Would\x20batch\x20delete\x20','\x20references\x20missing\x20child\x20','1125755NABlsF','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.','--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','snapshot','batch-delete','menus','Batch\x20delete\x20request\x20for\x20menu\x20','menu_plan_invalid','The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.','push','causeCode','Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20','60wRyknz','785961hFhjha','plan-validation','length','absentIds','12eukWcg','1147596iPfrDc','2066640NKzaml','menu_folder_resources_invalid','plan-out','unconfirmed','menu_folder_has_resources','Backend\x20reported\x20','menu_delete_page_bound','\x20is\x20not\x20a\x20folder.','Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.','Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.','One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20','cascade','byId','page\x20','message','expiresAt','batch\x20delete','recursive','deleteOrder','/smartapi/menu/batchDelete','Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20','childrenCount','\x20is\x20type\x20\x22','Post-mismatch\x20menu\x20readback\x20failed\x20(','bool','rabetbase\x20menu\x20list\x20--format\x20json','forEach','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence','Deleted\x20','\x20->\x20menu\x20','has','read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch','appCode','add','flagMissing','menu_verification_failed','type','Menu\x20','\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.','--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.','plan','POST','stringify','high-risk-write','verification','trim','delete','108wAkLFK','\x20deleted\x20menus;\x20expected\x20','hash','\x20still\x20references\x20','The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.','boolean','str',';\x20execution\x20must\x20consume\x20','51430mSylYy','pages','path','join','folder','pageId','childrenIds','failed','menu_tree_invalid','snapshotHash','remainingIds','\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.','causeMessage','plan\x20delete','toLowerCase','Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.','menu\x20list','menu_batch_delete_count_mismatch','Recursive\x20menu\x20delete\x20plan\x20root\x20','\x20and\x20cannot\x20be\x20deleted\x20safely.','Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)','map'];a110_0x306c=function(){return _0x2f947c;};return a110_0x306c();}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':a110_0x547249(0x104),'path':a110_0x547249(0x166)}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':a110_0x547249(0x127)},MENU_DELETE_RECURSIVE_FLAG={'name':a110_0x547249(0x164),'type':a110_0x547249(0x110),'description':'Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first'},MENU_DELETE_PLAN_OUT_FLAG={'name':a110_0x547249(0x155),'type':a110_0x547249(0x137),'description':a110_0x547249(0x132)},MENU_DELETE_PLAN_FLAG={'name':a110_0x547249(0x103),'type':a110_0x547249(0x137),'description':'Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out'};export const menuDelete={'service':'menu','command':a110_0x547249(0x109),'description':a110_0x547249(0x139),'risk':a110_0x547249(0x106),'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'(_0x212331){const _0x5f3268=a110_0x547249;_0x212331[_0x5f3268(0xf3)]('dry-run')?validateDeleteDryRunInput(_0x212331):validateDeleteExecuteInput(_0x212331),requireExplicitYes(_0x212331);},async 'dryRun'(_0x4ee8c2){const _0x291998=a110_0x547249;validateDeleteDryRunInput(_0x4ee8c2);const _0x2645a8=await buildDeletePlan(_0x4ee8c2),_0x54bf2d=createMenuDeletePlanFile(_0x4ee8c2[_0x291998(0xfb)],_0x2645a8),_0x162025=await writeMenuDeletePlan(_0x4ee8c2[_0x291998(0x111)](_0x291998(0x155)),_0x54bf2d),_0x4165f9=mutationResult({..._0x2645a8,'planFile':{'path':_0x162025,'createdAt':_0x54bf2d['createdAt'],'expiresAt':_0x54bf2d[_0x291998(0x162)]}});return menuDryRunResult(_0x4165f9,{'method':'POST','url':'/smartapi/menu/batchDelete','body':{'idList':_0x4165f9[_0x291998(0x165)]},'description':_0x291998(0x13d)+(_0x4165f9[_0x291998(0x165)]?.[_0x291998(0x14f)]??0x1)+'\x20menu(s)\x20under\x20exact\x20id\x20'+_0x4165f9['selector']['id']+_0x291998(0x112)+_0x162025+'.'});},async 'execute'(_0x54d40e){const _0x2dbb5b=a110_0x547249;requireExplicitYes(_0x54d40e),validateDeleteExecuteInput(_0x54d40e);const _0x5689a9=await readMenuDeletePlan(_0x54d40e[_0x2dbb5b(0x111)]('plan')),_0x32a539=mutationPlanFromDeleteFile(_0x5689a9['plan'],_0x5689a9[_0x2dbb5b(0x115)]),_0x3b558d=_0x5689a9[_0x2dbb5b(0x103)]['target']['id'];try{assertMenuDeletePlanExecutable(_0x5689a9[_0x2dbb5b(0x103)],_0x54d40e[_0x2dbb5b(0xfb)]);}catch(_0x1c9cdb){throw menuFailure(asMenuError(_0x1c9cdb),_0x32a539,{'stage':_0x2dbb5b(0x14e),'failed':{'id':_0x3b558d}});}let _0x271942,_0x388277;try{_0x271942=await fetchMutationSnapshot(_0x54d40e,'execute\x20reviewed\x20delete\x20plan',_0x3b558d),_0x388277=assertMenuDeletePlanCurrent(_0x5689a9[_0x2dbb5b(0x103)],_0x54d40e[_0x2dbb5b(0xfb)],_0x271942),assertDeleteTargetsComplete(_0x5689a9[_0x2dbb5b(0x103)],_0x271942),_0x388277[_0x2dbb5b(0xf5)](_0x4d99d9=>assertDeleteSafety(_0x4d99d9,_0x5689a9[_0x2dbb5b(0x103)][_0x2dbb5b(0x164)])),assertNoSharedPages(_0x271942,_0x388277),assertCascadeMatchesPlan(_0x32a539,_0x388277);}catch(_0x25098e){throw menuFailure(asMenuError(_0x25098e),_0x32a539,{'stage':'pre-write-plan-validation','failed':{'id':_0x3b558d}});}const _0xf1e150=_0x5689a9['plan'][_0x2dbb5b(0x165)];let _0x4492e7;try{_0x4492e7=await batchDeleteMenuEntities(_0x54d40e[_0x2dbb5b(0x12c)],_0xf1e150);}catch(_0x2bf3e3){const _0x259454=mapMenuApiError(_0x2bf3e3,_0x2dbb5b(0x163)),_0x5bb072=[_0x2dbb5b(0x10f)];let _0x551577;try{_0x551577=await readDeleteOutcome(_0x54d40e,_0xf1e150);}catch(_0x234241){const _0x1472b7=describeMenuErrorCause(_0x234241,_0x2dbb5b(0x12b),_0x3b558d);_0x5bb072['push']('Post-failure\x20menu\x20readback\x20failed\x20('+_0x1472b7[_0x2dbb5b(0x14a)]+_0x2dbb5b(0x133)+_0x1472b7[_0x2dbb5b(0x11f)]);throw menuFailure(_0x259454,_0x32a539,{'stage':'batch-delete','failed':{'targetIds':_0xf1e150,'targetIdsAbsent':'unconfirmed',..._0x1472b7},'warnings':_0x5bb072,'verification':{'status':_0x2dbb5b(0x11a),'lookupCommand':_0x2dbb5b(0xf4),'targetIds':_0xf1e150}});}throw menuFailure(_0x259454,_0x32a539,{'stage':'batch-delete','succeeded':_0x551577[_0x2dbb5b(0x150)][_0x2dbb5b(0x128)](_0x3395de=>({'id':_0x3395de,'deleted':!![]})),'failed':{'targetIds':_0xf1e150,'absentIds':_0x551577[_0x2dbb5b(0x150)],'remainingIds':_0x551577['remainingIds']},'warnings':_0x5bb072,'verification':verificationFromOutcome(_0x551577)});}if(_0x4492e7!==_0xf1e150[_0x2dbb5b(0x14f)]){const _0x28052c=menuError(_0x2dbb5b(0x124),_0x2dbb5b(0x158)+_0x4492e7+_0x2dbb5b(0x10b)+_0xf1e150[_0x2dbb5b(0x14f)]+'.',_0x2dbb5b(0x142)),_0x4268db=[_0x2dbb5b(0x148)];let _0x26956d;try{_0x26956d=await readDeleteOutcome(_0x54d40e,_0xf1e150);}catch(_0x203011){const _0x1ebf42=describeMenuErrorCause(_0x203011,_0x2dbb5b(0xfa),_0x3b558d);_0x4268db[_0x2dbb5b(0x149)](_0x2dbb5b(0xf2)+_0x1ebf42['causeCode']+_0x2dbb5b(0x133)+_0x1ebf42[_0x2dbb5b(0x11f)]);throw menuFailure(_0x28052c,_0x32a539,{'stage':_0x2dbb5b(0x144),'failed':{'targetIds':_0xf1e150,'expectedCount':_0xf1e150['length'],'reportedDeletedCount':_0x4492e7,'targetIdsAbsent':_0x2dbb5b(0x156),..._0x1ebf42},'warnings':_0x4268db,'verification':{'status':_0x2dbb5b(0x11a),'lookupCommand':_0x2dbb5b(0xf4),'targetIds':_0xf1e150}});}throw menuFailure(_0x28052c,_0x32a539,{'stage':_0x2dbb5b(0x144),'succeeded':_0x26956d[_0x2dbb5b(0x150)][_0x2dbb5b(0x128)](_0x34a632=>({'id':_0x34a632,'deleted':!![]})),'failed':{'targetIds':_0xf1e150,'expectedCount':_0xf1e150[_0x2dbb5b(0x14f)],'reportedDeletedCount':_0x4492e7,'absentIds':_0x26956d[_0x2dbb5b(0x150)],'remainingIds':_0x26956d[_0x2dbb5b(0x11d)]},'warnings':_0x4268db,'verification':verificationFromOutcome(_0x26956d)});}let _0x11267f;try{_0x11267f=await readDeleteOutcome(_0x54d40e,_0xf1e150);}catch(_0x2ee422){const _0x395ca4=describeMenuErrorCause(_0x2ee422,'verify\x20batch\x20delete',_0x3b558d),_0x23a306=asVerificationError(_0x2ee422,_0x2dbb5b(0x146)+_0x3b558d+_0x2dbb5b(0xf6));throw menuFailure(_0x23a306,_0x32a539,{'stage':_0x2dbb5b(0x107),'succeeded':_0xf1e150['map'](_0x5435a4=>({'id':_0x5435a4,'deleteRequested':!![]})),'failed':{'id':_0x3b558d,'targetIds':_0xf1e150,'targetIdsAbsent':_0x2dbb5b(0x156),..._0x395ca4},'warnings':[_0x2dbb5b(0x10e)],'verification':{'status':_0x2dbb5b(0x11a),'lookupCommand':_0x2dbb5b(0xf4),'targetIds':_0xf1e150}});}if(_0x11267f[_0x2dbb5b(0x11d)][_0x2dbb5b(0x14f)]>0x0){const _0x4de79d=menuError(_0x2dbb5b(0xfe),_0x2dbb5b(0x15d)+_0x11267f[_0x2dbb5b(0x11d)][_0x2dbb5b(0x116)](',\x20')+'.',_0x2dbb5b(0x142));throw menuFailure(_0x4de79d,_0x32a539,{'stage':_0x2dbb5b(0x107),'succeeded':_0xf1e150['map'](_0xd299fd=>({'id':_0xd299fd,'deleteRequested':!![]})),'failed':{'id':_0x3b558d,'targetIds':_0xf1e150,'absentIds':_0x11267f['absentIds'],'remainingIds':_0x11267f[_0x2dbb5b(0x11d)]},'warnings':['The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.'],'verification':verificationFromOutcome(_0x11267f)});}const _0x4da318=_0xf1e150[_0x2dbb5b(0x128)](_0x1de7ce=>({'id':_0x1de7ce,'deleted':!![]})),_0x5507b3=mutationResult({..._0x32a539,'dryRun':![],'succeeded':_0x4da318,'verification':{'checkedBy':_0x2dbb5b(0x123),'plannedSnapshotHash':_0x32a539[_0x2dbb5b(0x11c)],'finalSnapshotHash':_0x11267f['snapshot']['hash'],'reportedDeletedCount':_0x4492e7,'targetAbsent':!_0x11267f[_0x2dbb5b(0x143)][_0x2dbb5b(0x15f)][_0x2dbb5b(0xf9)](_0x3b558d),'allTargetsAbsent':!![],'targetIds':_0xf1e150}});return{'ok':!![],'data':_0x5507b3,'message':_0x2dbb5b(0xf7)+_0x4da318[_0x2dbb5b(0x14f)]+'\x20menu(s)\x20under\x20exact\x20id\x20'+_0x3b558d+'.'};}};async function readDeleteOutcome(_0x4057cc,_0x26171d){const _0x11a77f=a110_0x547249,_0x31b15a=await fetchMenuSnapshot(_0x4057cc[_0x11a77f(0xfb)],_0x4057cc[_0x11a77f(0x12c)]);return{'snapshot':_0x31b15a,'absentIds':_0x26171d['filter'](_0x58a1a2=>!_0x31b15a[_0x11a77f(0x15f)][_0x11a77f(0xf9)](_0x58a1a2)),'remainingIds':_0x26171d[_0x11a77f(0x13a)](_0x24727a=>_0x31b15a[_0x11a77f(0x15f)][_0x11a77f(0xf9)](_0x24727a))};}function verificationFromOutcome(_0x3232d9){const _0x348268=a110_0x547249;return{'checkedBy':_0x348268(0x123),'absentIds':_0x3232d9[_0x348268(0x150)],'remainingIds':_0x3232d9[_0x348268(0x11d)]};}function validateDeleteDryRunInput(_0x12d3e6){const _0x4945d2=a110_0x547249;validateExactId(_0x12d3e6);if(!hasFlag(_0x12d3e6,_0x4945d2(0x155))||!_0x12d3e6[_0x4945d2(0x111)](_0x4945d2(0x155))[_0x4945d2(0x108)]())throw CliErrors[_0x4945d2(0xfd)](_0x4945d2(0x155),_0x4945d2(0x141));if(hasFlag(_0x12d3e6,_0x4945d2(0x103)))throw CliErrors['validation'](_0x4945d2(0x102));}function validateDeleteExecuteInput(_0x28e5db){const _0x165b1a=a110_0x547249;if(!hasFlag(_0x28e5db,'plan')||!_0x28e5db[_0x165b1a(0x111)](_0x165b1a(0x103))['trim']())throw CliErrors[_0x165b1a(0xfd)]('plan','--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.');const _0x9708c=['id',_0x165b1a(0x164),_0x165b1a(0x155),'expect-parent-id',_0x165b1a(0x12d),'expected-children-count'][_0x165b1a(0x13a)](_0x126043=>hasFlag(_0x28e5db,_0x126043));if(_0x9708c['length']>0x0)throw CliErrors['validation'](_0x165b1a(0x167)+_0x9708c['map'](_0x2d50e4=>'--'+_0x2d50e4)[_0x165b1a(0x116)](',\x20')+'.');}async function buildDeletePlan(_0x39403b){const _0x19cd49=a110_0x547249,_0x184ff6=validateExactId(_0x39403b),_0x3361de=await fetchMutationSnapshot(_0x39403b,_0x19cd49(0x120),_0x184ff6),_0x5ac1cd=requireMenu(_0x3361de,_0x184ff6);assertExpectedState(_0x39403b,_0x5ac1cd);const _0x5e627b=_0x39403b[_0x19cd49(0xf3)]('recursive');let _0xe0616c;if(_0x5e627b){if(_0x5ac1cd[_0x19cd49(0xff)]['trim']()[_0x19cd49(0x121)]()!==_0x19cd49(0x117))throw menuError('menu_recursive_requires_folder',_0x19cd49(0x100)+_0x5ac1cd['id']+_0x19cd49(0xf1)+(_0x5ac1cd[_0x19cd49(0xff)]||'unknown')+_0x19cd49(0x134));_0xe0616c=collectDeleteTargets(_0x3361de,_0x5ac1cd),_0xe0616c[_0x19cd49(0xf5)](_0x3d4dff=>assertDeleteSafety(_0x3d4dff,!![]));}else assertDeleteSafety(_0x5ac1cd),_0xe0616c=[_0x5ac1cd];assertNoSharedPages(_0x3361de,_0xe0616c);const _0x43aafc=_0xe0616c[_0x19cd49(0x128)](_0x53fa00=>_0x53fa00['id']),_0x190d32=cascadeForTargets(_0xe0616c),_0x46ca59=_0x190d32[_0x19cd49(0x114)][_0x19cd49(0x14f)]>0x0?[_0x19cd49(0x15c)]:[];return mutationResult({'operation':_0x19cd49(0x109),'selector':{'id':_0x184ff6,'recursive':_0x5e627b},'before':_0x5ac1cd,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':_0x19cd49(0x136),'method':_0x19cd49(0x104),'path':_0x19cd49(0x166),'body':{'idList':_0x43aafc}}],'targets':_0xe0616c,'deleteOrder':_0x43aafc,'snapshotHash':_0x3361de[_0x19cd49(0x10c)],'cascade':_0x190d32,'warnings':_0x46ca59});}function assertDeleteSafety(_0x423c77,_0xa1820f=![]){const _0x1d9801=a110_0x547249,_0x14a1cc=_0x423c77[_0x1d9801(0xff)][_0x1d9801(0x108)]()[_0x1d9801(0x121)]()==='folder';if(_0x423c77[_0x1d9801(0x168)]>0x0&&(!_0xa1820f||!_0x14a1cc))throw menuError('menu_non_empty',_0x1d9801(0x100)+_0x423c77['id']+_0x1d9801(0x12a)+_0x423c77[_0x1d9801(0x168)]+_0x1d9801(0x11e),'Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20'+_0x423c77['childrenIds']['join'](',\x20'));if(_0x14a1cc&&_0x423c77[_0x1d9801(0x118)]!=null)throw menuError(_0x1d9801(0x159),_0x1d9801(0x129)+_0x423c77['id']+_0x1d9801(0x13b)+_0x423c77[_0x1d9801(0x118)]+_0x1d9801(0x126),_0x1d9801(0x15b));if(!_0x14a1cc)return;if(!_0x423c77['resourcesValid'])throw menuError(_0x1d9801(0x154),_0x1d9801(0x129)+_0x423c77['id']+_0x1d9801(0x101),_0x1d9801(0x130));if(_0x423c77[_0x1d9801(0x12f)][_0x1d9801(0x14f)]>0x0)throw menuError(_0x1d9801(0x157),_0x1d9801(0x129)+_0x423c77['id']+_0x1d9801(0x10d)+_0x423c77[_0x1d9801(0x12f)]['length']+_0x1d9801(0x13c),'Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.');}function collectDeleteTargets(_0x3fff28,_0x336dd5){const _0x6a5550=[],_0x48821c=new Set(),_0x1e7265=new Set(),_0x1bfb6a=_0x56900f=>{const _0x19daa6=a110_0x3870;if(_0x48821c[_0x19daa6(0xf9)](_0x56900f['id']))throw menuError(_0x19daa6(0x11b),'Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20'+_0x56900f['id']+'.');if(_0x1e7265[_0x19daa6(0xf9)](_0x56900f['id']))return;_0x48821c[_0x19daa6(0xfc)](_0x56900f['id']);for(const _0x432125 of _0x56900f[_0x19daa6(0x119)]){const _0x2423b7=_0x3fff28[_0x19daa6(0x15f)]['get'](_0x432125);if(!_0x2423b7)throw menuError(_0x19daa6(0x11b),_0x19daa6(0x100)+_0x56900f['id']+_0x19daa6(0x13e)+_0x432125+'.');_0x1bfb6a(_0x2423b7);}_0x48821c[_0x19daa6(0x109)](_0x56900f['id']),_0x1e7265['add'](_0x56900f['id']),_0x6a5550[_0x19daa6(0x149)](_0x56900f);};return _0x1bfb6a(_0x336dd5),_0x6a5550;}function assertDeleteTargetsComplete(_0x1cdb0c,_0x2ada60){const _0x19a427=a110_0x547249,_0x4cd2b2=requireMenu(_0x2ada60,_0x1cdb0c[_0x19a427(0x12e)]['id']);if(_0x1cdb0c[_0x19a427(0x164)]&&_0x4cd2b2['type'][_0x19a427(0x108)]()['toLowerCase']()!==_0x19a427(0x117))throw menuError(_0x19a427(0x147),_0x19a427(0x125)+_0x4cd2b2['id']+_0x19a427(0x15a));const _0x26bf1c=_0x1cdb0c[_0x19a427(0x164)]?collectDeleteTargets(_0x2ada60,_0x4cd2b2)['map'](_0x30c605=>_0x30c605['id']):[_0x4cd2b2['id']];if(JSON[_0x19a427(0x105)](_0x1cdb0c['deleteOrder'])!==JSON[_0x19a427(0x105)](_0x26bf1c))throw menuError(_0x19a427(0x147),_0x19a427(0x122),'Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.');}function assertNoSharedPages(_0x28fa3f,_0x52de58){const _0xb8a0b=a110_0x547249,_0x263be9=new Set(_0x52de58[_0xb8a0b(0x128)](_0x501955=>_0x501955['id'])),_0x27edea=new Set(_0x52de58[_0xb8a0b(0x128)](_0x4fb703=>_0x4fb703[_0xb8a0b(0x118)])[_0xb8a0b(0x13a)](_0x4adacf=>_0x4adacf!=null));if(_0x27edea['size']===0x0)return;const _0x5ea7c7=_0x28fa3f[_0xb8a0b(0x145)][_0xb8a0b(0x13a)](_0x395d38=>!_0x263be9[_0xb8a0b(0xf9)](_0x395d38['id'])&&_0x395d38[_0xb8a0b(0x118)]!=null&&_0x27edea[_0xb8a0b(0xf9)](_0x395d38['pageId']));if(_0x5ea7c7[_0xb8a0b(0x14f)]===0x0)return;const _0x9f5de1=_0x5ea7c7[_0xb8a0b(0x128)](_0x2eba49=>_0xb8a0b(0x160)+_0x2eba49[_0xb8a0b(0x118)]+_0xb8a0b(0xf8)+_0x2eba49['id'])[_0xb8a0b(0x116)](',\x20');throw menuError('menu_page_shared',_0xb8a0b(0x14b)+_0x9f5de1+'.',_0xb8a0b(0x140));}function assertCascadeMatchesPlan(_0x38d199,_0x188336){const _0x7bf75a=a110_0x547249,_0x1389e3=cascadeForTargets(_0x188336);if(JSON[_0x7bf75a(0x105)](_0x38d199[_0x7bf75a(0x15e)])!==JSON[_0x7bf75a(0x105)](_0x1389e3))throw menuError(_0x7bf75a(0x147),_0x7bf75a(0x138));}function cascadeForTargets(_0xed389d){const _0x533f57=a110_0x547249,_0x1ea683=_0xed389d[_0x533f57(0x128)](_0x3f7619=>_0x3f7619[_0x533f57(0x118)])['filter'](_0x30e575=>_0x30e575!=null)[_0x533f57(0x13a)]((_0x34ceb3,_0x5886b2,_0x186ade)=>_0x186ade['indexOf'](_0x34ceb3)===_0x5886b2);return{'pages':_0x1ea683,'pageSchemaAffected':_0x1ea683['length']>0x0};}function asMenuError(_0x1b8cff){const _0xc215ae=a110_0x547249;return _0x1b8cff instanceof CliError?_0x1b8cff:menuError(_0xc215ae(0x147),_0x1b8cff instanceof Error?_0x1b8cff[_0xc215ae(0x161)]:String(_0x1b8cff));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a111_0x534039=a111_0x5455;(function(_0x1e1598,_0x426129){const _0xe8951e=a111_0x5455,_0x37a282=_0x1e1598();while(!![]){try{const _0x301c56=-parseInt(_0xe8951e(0x93))/0x1*(parseInt(_0xe8951e(0xbf))/0x2)+parseInt(_0xe8951e(0xf5))/0x3*(parseInt(_0xe8951e(0x7d))/0x4)+parseInt(_0xe8951e(0xdf))/0x5+parseInt(_0xe8951e(0x8d))/0x6*(parseInt(_0xe8951e(0xca))/0x7)+-parseInt(_0xe8951e(0x6e))/0x8*(-parseInt(_0xe8951e(0xdb))/0x9)+parseInt(_0xe8951e(0xa5))/0xa+parseInt(_0xe8951e(0xb1))/0xb*(-parseInt(_0xe8951e(0xe2))/0xc);if(_0x301c56===_0x426129)break;else _0x37a282['push'](_0x37a282['shift']());}catch(_0x174ab8){_0x37a282['push'](_0x37a282['shift']());}}}(a111_0x505a,0xd2290));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':'iframe','new-window':'link'};export function validateExternalMenuUrl(_0x796253){const _0x8c1ebe=a111_0x5455,_0x213afc=_0x796253[_0x8c1ebe(0x77)]();let _0x769eec;try{_0x769eec=new URL(_0x213afc);}catch{throw menuError(_0x8c1ebe(0xf6),_0x8c1ebe(0x99),_0x8c1ebe(0x78));}if(_0x769eec[_0x8c1ebe(0xd4)]!==_0x8c1ebe(0xc5))throw menuError(_0x8c1ebe(0xf9),_0x8c1ebe(0xd1),_0x8c1ebe(0x84));if(_0x769eec[_0x8c1ebe(0xb8)]||_0x769eec[_0x8c1ebe(0x91)])throw menuError(_0x8c1ebe(0x96),_0x8c1ebe(0xb5),_0x8c1ebe(0x92));return _0x213afc;}export const menuExternalLinkCreate={'service':a111_0x534039(0xb6),'command':a111_0x534039(0xd3),'description':'Create\x20an\x20external\x20website\x20link\x20menu','risk':a111_0x534039(0xa4),'structuredErrors':!![],'flags':[{'name':a111_0x534039(0xdc),'type':'string','required':!![],'description':'Menu\x20label'},{'name':a111_0x534039(0xa8),'type':a111_0x534039(0xbb),'required':!![],'enum':['embedded',a111_0x534039(0xd7)],'description':a111_0x534039(0xa0)},{'name':'url','type':a111_0x534039(0xbb),'required':!![],'description':'External\x20HTTPS\x20URL'},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':'visible','type':'boolean','default':!![],'description':a111_0x534039(0x76)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x63672c){validateAddInput(_0x63672c);},async 'dryRun'(_0x469cc9){const _0x4a5717=a111_0x534039;validateAddInput(_0x469cc9);const {plan:_0x3298b2}=await buildSafeAddPlan(_0x469cc9,!![]),_0x4f28d4=_0x3298b2[_0x4a5717(0x79)],_0x4c4c80=createBody(_0x4f28d4);return menuDryRunResult(_0x3298b2,{'method':_0x4a5717(0x90),'url':_0x4a5717(0x85),'body':_0x4c4c80,'description':_0x4a5717(0xc6)+JSON[_0x4a5717(0x8a)](_0x4f28d4[_0x4a5717(0xdc)])+_0x4a5717(0xbe)+_0x469cc9[_0x4a5717(0xeb)]('open-mode')+'\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.'});},async 'execute'(_0x1e9f96){const _0x32ee72=a111_0x534039;validateAddInput(_0x1e9f96);const _0x920636=await buildSafeAddPlan(_0x1e9f96,![]),{plan:_0x49ef5e,snapshot:_0x5603d1}=_0x920636,_0x1c5995=_0x49ef5e['after'],_0x2e10d4=buildMenuLookupCommand(_0x1e9f96[_0x32ee72(0xc1)]);await recheckAddSnapshot(_0x1e9f96,_0x49ef5e);let _0xf72338;try{_0xf72338=await createMenuEntity(_0x1e9f96[_0x32ee72(0xc1)],_0x1e9f96[_0x32ee72(0xaf)],createBody(_0x1c5995));}catch(_0x5e1296){const _0x58c529=mapMenuApiError(_0x5e1296,'create\x20external\x20menu');if(!isMenuResponseLoss(_0x5e1296)||_0x58c529[_0x32ee72(0xef)]===_0x32ee72(0xd0))throw externalLinkCreateFailure(_0x58c529,_0x49ef5e,{'stage':_0x32ee72(0xda),'failed':{},'verification':{'status':_0x32ee72(0x95),'lookupCommand':_0x2e10d4}});return recoverAfterResponseLoss(_0x1e9f96,_0x920636,_0x2e10d4);}const _0x26fe87=Number(_0xf72338?.['id']),_0x20bb46=typeof _0xf72338?.[_0x32ee72(0x86)]===_0x32ee72(0xbb)?_0xf72338['path']:'';if(!Number[_0x32ee72(0xec)](_0x26fe87)||_0x26fe87<=0x0||!_0x20bb46[_0x32ee72(0x77)]()){const _0x53798e=menuError('menu_create_response_invalid',_0x32ee72(0xad),_0x32ee72(0xe4)+_0x2e10d4+_0x32ee72(0xb0));throw externalLinkCreateFailure(_0x53798e,_0x49ef5e,{'stage':_0x32ee72(0x8c),'succeeded':Number['isSafeInteger'](_0x26fe87)&&_0x26fe87>0x0?[{'id':_0x26fe87,'created':!![]}]:[],'failed':{'createdId':Number[_0x32ee72(0xec)](_0x26fe87)?_0x26fe87:null,'generatedPathConfirmed':Boolean(_0x20bb46[_0x32ee72(0x77)]())},'warnings':[_0x32ee72(0xa3)],'after':Number[_0x32ee72(0xec)](_0x26fe87)&&_0x26fe87>0x0?{..._0x1c5995,'id':_0x26fe87,'path':_0x20bb46}:_0x1c5995,'verification':{'status':_0x32ee72(0x95),'lookupCommand':_0x2e10d4,...Number[_0x32ee72(0xec)](_0x26fe87)&&_0x26fe87>0x0?{'targetId':_0x26fe87}:{}}});}const _0x4feee0=await readAndVerifyCreatedMenu({'appCode':_0x1e9f96[_0x32ee72(0xc1)],'cookie':_0x1e9f96[_0x32ee72(0xaf)],'plan':_0x49ef5e,'afterPlan':_0x1c5995,'createdId':_0x26fe87,'expectedPath':_0x20bb46,'lookupCommand':_0x2e10d4,'recovered':![]});return creationSuccess(_0x49ef5e,_0x4feee0[_0x32ee72(0x97)],_0x4feee0['fact'],![]);}};function validateAddInput(_0x578203){const _0x31fd3e=a111_0x534039;if(!_0x578203[_0x31fd3e(0xeb)](_0x31fd3e(0xdc))['trim']())throw CliErrors[_0x31fd3e(0xdd)](_0x31fd3e(0xdc));resolveExternalMenuType(_0x578203),validateExternalMenuUrl(_0x578203['str'](_0x31fd3e(0x73))),parseParentId(_0x578203,_0x31fd3e(0x75)),validateSort(_0x578203);}function resolveExternalMenuType(_0x5ddaae){const _0x11d597=a111_0x534039,_0x290b9b=_0x5ddaae[_0x11d597(0xeb)](_0x11d597(0xa8))['trim']();if(!_0x290b9b)throw CliErrors[_0x11d597(0xdd)](_0x11d597(0xa8));const _0x2706c8=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x290b9b];if(!_0x2706c8)throw menuError(_0x11d597(0x7c),_0x11d597(0xcd),'Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.');return _0x2706c8;}async function buildAddPlan(_0x34a844,_0x59cfd3){const _0x57b5c6=a111_0x534039,_0x1bfc4a=await fetchMutationSnapshot(_0x34a844,_0x57b5c6(0xcc)),_0x6174a9=parseParentId(_0x34a844,'parent-id')??null;if(_0x6174a9!=null)requireFolder(_0x1bfc4a,_0x6174a9);const _0x389f43=validateSort(_0x34a844),_0x299600=_0x389f43??nextSiblingSort(_0x1bfc4a,_0x6174a9,_0x57b5c6(0xb6)),_0x10d409=_0x34a844[_0x57b5c6(0xeb)](_0x57b5c6(0xdc))[_0x57b5c6(0x77)](),_0x14ae43=resolveExternalMenuType(_0x34a844),_0x5ac9a7=validateExternalMenuUrl(_0x34a844[_0x57b5c6(0xeb)](_0x57b5c6(0x73))),_0x59492f=Object[_0x57b5c6(0x9a)]['hasOwnProperty'][_0x57b5c6(0xc3)](_0x34a844[_0x57b5c6(0x9d)],'visible')?_0x34a844['bool']('visible'):!![],_0x31506a={'id':null,'parentId':_0x6174a9,'label':_0x10d409,'path':_0x57b5c6(0xe5),'url':_0x5ac9a7,'type':_0x14ae43,'visible':_0x59492f,'sort':_0x299600},_0x3f45f1=buildMenuLookupCommand(_0x34a844[_0x57b5c6(0xc1)]),_0x372c33=mutationResult({'operation':'add','selector':{'parentId':_0x6174a9,'type':_0x14ae43,'label':_0x10d409,'url':_0x5ac9a7},'before':null,'after':_0x31506a,'dryRun':_0x59cfd3,'backend':[{'method':_0x57b5c6(0x90),'path':'/smartapi/menu/create'}],'plannedActions':[{'stage':_0x57b5c6(0x98),'method':_0x57b5c6(0x90),'path':'/smartapi/menu/create','body':createBody(_0x31506a)}],'snapshotHash':_0x1bfc4a[_0x57b5c6(0xa7)],'warnings':['The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.'],'verification':{'lookupCommand':_0x3f45f1}});return{'plan':_0x372c33,'snapshot':_0x1bfc4a};}function a111_0x5455(_0x3de04c,_0x6d7e96){_0x3de04c=_0x3de04c-0x6e;const _0x505ada=a111_0x505a();let _0x545575=_0x505ada[_0x3de04c];return _0x545575;}async function buildSafeAddPlan(_0x4b9451,_0x5d6541){try{return await buildAddPlan(_0x4b9451,_0x5d6541);}catch(_0x8854ef){throw safeMenuAddError(_0x8854ef);}}async function recheckAddSnapshot(_0x2e5d67,_0x2822c1){const _0xf15bdf=a111_0x534039;try{await recheckMutationSnapshot(_0x2e5d67,_0x2822c1,_0xf15bdf(0xcc));}catch(_0x41f541){const _0x4a19ef=getFailureRecord(_0x41f541);throw externalLinkCreateFailure(_0x41f541,_0x2822c1,{'stage':_0xf15bdf(0xb9),'failed':{..._0x4a19ef?.['expectedSnapshotHash']?{'expectedSnapshotHash':_0x4a19ef[_0xf15bdf(0xf2)]}:{},..._0x4a19ef?.[_0xf15bdf(0xde)]?{'currentSnapshotHash':_0x4a19ef[_0xf15bdf(0xde)]}:{}}});}}function createBody(_0x1d548f){const _0x2d1288=a111_0x534039;return{'parentId':toApiParentId(_0x1d548f[_0x2d1288(0xc0)]),'label':String(_0x1d548f['label']),'type':String(_0x1d548f['type']),'url':String(_0x1d548f[_0x2d1288(0x73)]),'visible':Boolean(_0x1d548f[_0x2d1288(0xc2)]),'sort':Number(_0x1d548f[_0x2d1288(0x7a)]),'extend':{}};}function buildMenuLookupCommand(_0x379414){const _0x2d7615=a111_0x534039,_0x21c920='\x27'+_0x379414[_0x2d7615(0x82)](/'/g,'\x27\x5c\x27\x27')+'\x27';return _0x2d7615(0x71)+_0x21c920+'\x20--format\x20compress';}async function recoverAfterResponseLoss(_0x1e8493,_0xb0039,_0x4368bc){const _0xd217a4=a111_0x534039,{plan:_0x261d3e,snapshot:_0x497e98}=_0xb0039,_0x42e179=_0x261d3e[_0xd217a4(0x79)];let _0x35826a;try{_0x35826a=await fetchMenuSnapshot(_0x1e8493[_0xd217a4(0xc1)],_0x1e8493[_0xd217a4(0xaf)]);}catch(_0x6485ee){throw recoveryRequiredFailure(_0x261d3e,_0x4368bc,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x4eda94=_0x35826a['menus'][_0xd217a4(0x7e)](_0x3a8b79=>_0x3a8b79['parentId']===_0x42e179['parentId']&&_0x3a8b79['type']===_0x42e179['type']&&_0x3a8b79[_0xd217a4(0xdc)]===_0x42e179[_0xd217a4(0xdc)]&&_0x3a8b79[_0xd217a4(0x73)]===_0x42e179[_0xd217a4(0x73)]),_0x16c3ab=_0x4eda94['filter'](_0x4ac0e6=>!_0x497e98['byId']['has'](_0x4ac0e6['id'])),_0x160766=_0x4eda94[_0xd217a4(0x7e)](_0x4b7946=>_0x497e98['byId'][_0xd217a4(0x6f)](_0x4b7946['id']));if(_0x4eda94['length']!==0x1||_0x16c3ab[_0xd217a4(0x74)]!==0x1)throw recoveryRequiredFailure(_0x261d3e,_0x4368bc,{'matchCount':_0x4eda94[_0xd217a4(0x74)],'newMatchCount':_0x16c3ab['length'],'preexistingMatchCount':_0x160766[_0xd217a4(0x74)]});const _0x497408=_0x16c3ab[0x0];try{verifyCreatedFact(_0x497408,_0x497408['id'],_0x42e179,null);}catch(_0x3a6104){const _0x380514=_0x3a6104 instanceof Error&&'code'in _0x3a6104?_0x3a6104:menuError(_0xd217a4(0xbd),_0xd217a4(0xe3)+_0x497408['id']+'\x20could\x20not\x20be\x20verified.',_0xd217a4(0xe4)+_0x4368bc+_0xd217a4(0x9b));throw externalLinkCreateFailure(_0x380514,_0x261d3e,{'stage':_0xd217a4(0x70),'succeeded':[{'id':_0x497408['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x497408['id'],'finalFactsConfirmed':![]},'after':_0x497408,'warnings':[_0xd217a4(0xa2)+_0x497408['id']+_0xd217a4(0xea)],'verification':{'status':_0xd217a4(0x95),'targetId':_0x497408['id'],'recovered':!![],'lookupCommand':_0x4368bc}});}return creationSuccess(_0x261d3e,_0x35826a,_0x497408,!![]);}function recoveryRequiredFailure(_0x101484,_0x2629a8,_0x26da46){const _0x5d4703=a111_0x534039,_0x31c55f=menuError(_0x5d4703(0xc7),_0x5d4703(0xa1),_0x5d4703(0xe4)+_0x2629a8+_0x5d4703(0xb7));return externalLinkCreateFailure(_0x31c55f,_0x101484,{'stage':_0x5d4703(0xf1),'failed':_0x26da46,'warnings':[_0x5d4703(0xe6)],'verification':{'status':_0x5d4703(0x95),..._0x26da46,'lookupCommand':_0x2629a8}});}async function readAndVerifyCreatedMenu(_0x4f9fb8){const _0x1c0215=a111_0x534039;let _0x2bd5a7;try{_0x2bd5a7=await fetchMenuSnapshot(_0x4f9fb8[_0x1c0215(0xc1)],_0x4f9fb8[_0x1c0215(0xaf)]);}catch(_0x25cf8a){const _0x595d48=menuError(_0x1c0215(0xbd),_0x1c0215(0xa2)+_0x4f9fb8[_0x1c0215(0x80)]+_0x1c0215(0x7b),'Run\x20'+_0x4f9fb8['lookupCommand']+_0x1c0215(0xf0));throw externalLinkCreateFailure(_0x595d48,_0x4f9fb8[_0x1c0215(0xcb)],{'stage':_0x1c0215(0x70),'succeeded':[{'id':_0x4f9fb8[_0x1c0215(0x80)],'created':!![]}],'failed':{'id':_0x4f9fb8[_0x1c0215(0x80)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x4f9fb8[_0x1c0215(0xb3)],'id':_0x4f9fb8[_0x1c0215(0x80)],'path':_0x4f9fb8['expectedPath']},'warnings':[_0x1c0215(0xa2)+_0x4f9fb8[_0x1c0215(0x80)]+_0x1c0215(0x9c)],'verification':{'status':'failed','targetId':_0x4f9fb8['createdId'],'lookupCommand':_0x4f9fb8[_0x1c0215(0xac)]}});}const _0x422e11=_0x2bd5a7[_0x1c0215(0xf4)][_0x1c0215(0xd8)](_0x4f9fb8[_0x1c0215(0x80)]);try{if(!_0x422e11)throw menuError(_0x1c0215(0xbd),_0x1c0215(0xed)+_0x4f9fb8[_0x1c0215(0x80)]+'\x20is\x20missing\x20from\x20final\x20menu\x20facts.',_0x1c0215(0xe4)+_0x4f9fb8[_0x1c0215(0xac)]+_0x1c0215(0xf0));verifyCreatedFact(_0x422e11,_0x4f9fb8[_0x1c0215(0x80)],_0x4f9fb8[_0x1c0215(0xb3)],_0x4f9fb8['expectedPath']);}catch(_0x48e620){const _0x4d755f=_0x48e620 instanceof Error&&_0x1c0215(0xef)in _0x48e620?_0x48e620:menuError(_0x1c0215(0xbd),_0x1c0215(0xed)+_0x4f9fb8['createdId']+'\x20failed\x20final\x20verification.',_0x1c0215(0xe4)+_0x4f9fb8[_0x1c0215(0xac)]+_0x1c0215(0xf0));throw externalLinkCreateFailure(_0x4d755f,_0x4f9fb8[_0x1c0215(0xcb)],{'stage':_0x1c0215(0x70),'succeeded':[{'id':_0x4f9fb8[_0x1c0215(0x80)],'created':!![]}],'failed':{'id':_0x4f9fb8[_0x1c0215(0x80)],'finalFactsConfirmed':![]},'after':_0x422e11??{..._0x4f9fb8[_0x1c0215(0xb3)],'id':_0x4f9fb8[_0x1c0215(0x80)],'path':_0x4f9fb8[_0x1c0215(0x8b)]},'warnings':[_0x1c0215(0xa2)+_0x4f9fb8[_0x1c0215(0x80)]+_0x1c0215(0xaa)],'verification':{'status':_0x1c0215(0x95),'targetId':_0x4f9fb8['createdId'],'recovered':_0x4f9fb8[_0x1c0215(0x9e)],'lookupCommand':_0x4f9fb8[_0x1c0215(0xac)]}});}return{'snapshot':_0x2bd5a7,'fact':_0x422e11};}function verifyCreatedFact(_0x5c15bc,_0x3840af,_0x4599b0,_0x4d597b){const _0x1f8b35=a111_0x534039;if(!Number[_0x1f8b35(0xec)](_0x5c15bc['id'])||_0x5c15bc['id']<=0x0||_0x5c15bc['id']!==_0x3840af)throw menuError(_0x1f8b35(0xbd),_0x1f8b35(0xc4),'Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.');const _0x41b5e3=[[_0x1f8b35(0x94),_0x5c15bc[_0x1f8b35(0xc0)],_0x4599b0['parentId']],[_0x1f8b35(0x8f),_0x5c15bc['type'],_0x4599b0[_0x1f8b35(0x8f)]],[_0x1f8b35(0xdc),_0x5c15bc[_0x1f8b35(0xdc)],_0x4599b0[_0x1f8b35(0xdc)]],['URL',_0x5c15bc[_0x1f8b35(0x73)],_0x4599b0[_0x1f8b35(0x73)]],[_0x1f8b35(0xb2),_0x5c15bc[_0x1f8b35(0xc2)],_0x4599b0['visible']],[_0x1f8b35(0x7a),_0x5c15bc['sort'],_0x4599b0[_0x1f8b35(0x7a)]]];for(const [_0x4091f5,_0x268c67,_0x18ebae]of _0x41b5e3){if(_0x268c67!==_0x18ebae)throw menuError(_0x1f8b35(0xbd),'Created\x20menu\x20'+_0x5c15bc['id']+'\x20has\x20an\x20unexpected\x20'+_0x4091f5+'.',_0x1f8b35(0xe9));}if(!_0x5c15bc[_0x1f8b35(0x86)][_0x1f8b35(0x77)]()||_0x4d597b!==null&&_0x5c15bc['path']!==_0x4d597b)throw menuError(_0x1f8b35(0xbd),'Created\x20menu\x20'+_0x5c15bc['id']+_0x1f8b35(0xbc),'Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.');}function creationSuccess(_0x2f5317,_0x25ae42,_0x585fab,_0xb943e7){const _0x2cb1fb=a111_0x534039,_0x550d48=mutationResult({..._0x2f5317,'after':_0x585fab,'dryRun':![],'succeeded':[{'id':_0x585fab['id'],'created':!![],'recovered':_0xb943e7}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x25ae42['hash'],'targetId':_0x585fab['id'],'recovered':_0xb943e7,'path':_0x585fab[_0x2cb1fb(0x86)]}});return{'ok':!![],'message':_0xb943e7?_0x2cb1fb(0xb4)+_0x585fab['id']+_0x2cb1fb(0xba):_0x2cb1fb(0xf8)+_0x585fab['id']+'.','data':{..._0x550d48,'recovered':_0xb943e7}};}function externalLinkCreateFailure(_0x1f9eb7,_0x5900b3,_0x5ae216){const _0x493889=a111_0x534039;return menuFailure(safeMenuAddError(_0x1f9eb7),redactFailurePlan(_0x5900b3),{..._0x5ae216,'succeeded':_0x5ae216[_0x493889(0xce)]?.[_0x493889(0xc8)](redactFailureRecord),'failed':_0x5ae216[_0x493889(0x95)]?redactFailureRecord(_0x5ae216['failed']):undefined,'verification':_0x5ae216['verification']?redactFailureRecord(_0x5ae216['verification']):undefined,'after':_0x5ae216[_0x493889(0x79)]===undefined?undefined:redactFailureValue(_0x5ae216[_0x493889(0x79)])});}function redactFailurePlan(_0x291a08){const _0x5859a6=a111_0x534039;return{..._0x291a08,'selector':redactFailureRecord(_0x291a08[_0x5859a6(0xe8)]),'before':redactFailureValue(_0x291a08[_0x5859a6(0xf7)]),'after':redactFailureValue(_0x291a08[_0x5859a6(0x79)]),'plannedActions':_0x291a08[_0x5859a6(0xe1)]?.[_0x5859a6(0xc8)](_0x4cc2a2=>({..._0x4cc2a2,'body':redactFailureRecord(_0x4cc2a2[_0x5859a6(0xa9)])})),'succeeded':_0x291a08[_0x5859a6(0xce)][_0x5859a6(0xc8)](redactFailureRecord),'failed':_0x291a08[_0x5859a6(0x95)][_0x5859a6(0xc8)](redactFailureRecord),'verification':_0x291a08[_0x5859a6(0x70)]?redactFailureRecord(_0x291a08['verification']):undefined};}function a111_0x505a(){const _0x3c6917=['\x20has\x20an\x20unexpected\x20generated\x20path.','menu_verification_failed','\x20with\x20','4286kIHCwO','parentId','appCode','visible','call','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','https:','Would\x20create\x20external\x20website\x20link\x20menu\x20','menu_create_recovery_required','map','toLowerCase','50813QpUwyp','plan','create\x20external\x20menu','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','succeeded','menu_not_found','menu_permission_denied','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','entries','external-link-create','protocol','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','rawerror','new-window','get','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','create','49563USiRJq','label','flagMissing','currentSnapshotHash','4208170yGjwFa','menu_parent_not_folder','plannedActions','108jMagae','Recovered\x20menu\x20','Run\x20','<platform-generated>','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','selector','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','str','isSafeInteger','Created\x20menu\x20','menu_sort_invalid','code','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','create-recovery','expectedSnapshotHash','menu_create_response_invalid','byId','3429UJKsLC','menu_url_invalid','before','Created\x20external\x20menu\x20','menu_url_https_required','1528PtSrIC','has','verification','rabetbase\x20menu\x20list\x20--appcode\x20','The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','url','length','parent-id','Whether\x20the\x20menu\x20is\x20visible','trim','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','after','sort','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','menu_open_mode_invalid','2852DHqQJK','filter','causemessage','createdId','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','replace','fromEntries','Provide\x20an\x20HTTPS\x20URL.','/smartapi/menu/create','path','data','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','External\x20menu\x20creation\x20failed.','stringify','expectedPath','create-response-validation','534KJqyMq','<redacted>','type','POST','password','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','124SWhDjG','parent','failed','menu_url_credentials_forbidden','snapshot','create-menu','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','prototype','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.','rawFlags','recovered','menu_mutation_failed','How\x20to\x20open\x20the\x20external\x20website','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','Menu\x20','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','write','11059280DIMHxb','readbackerror','hash','open-mode','body','\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.','isArray','lookupCommand','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','object','cookie','\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.','4074719kLqwQS','visibility','afterPlan','Recovered\x20created\x20external\x20menu\x20','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','menu','\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.','username','pre-write-recheck','\x20after\x20response\x20loss.','string'];a111_0x505a=function(){return _0x3c6917;};return a111_0x505a();}function redactFailureRecord(_0x1899bd){return redactFailureValue(_0x1899bd);}function redactFailureValue(_0x446d2a,_0x52072a=''){const _0xa0e89d=a111_0x534039,_0xd22fbf=_0x52072a[_0xa0e89d(0xc9)]()[_0xa0e89d(0x82)](/[^a-z0-9]/g,'');if(['cause',_0xa0e89d(0x7f),_0xa0e89d(0xa6),_0xa0e89d(0xd6)]['includes'](_0xd22fbf))return _0xa0e89d(0x8e);if(Array[_0xa0e89d(0xab)](_0x446d2a))return _0x446d2a[_0xa0e89d(0xc8)](_0x1de17d=>redactFailureValue(_0x1de17d));if(_0x446d2a&&typeof _0x446d2a===_0xa0e89d(0xae))return Object[_0xa0e89d(0x83)](Object[_0xa0e89d(0xd2)](_0x446d2a)[_0xa0e89d(0xc8)](([_0x500a01,_0x4a9896])=>[_0x500a01,redactFailureValue(_0x4a9896,_0x500a01)]));return _0x446d2a;}function safeMenuAddError(_0x1056e3){const _0x22a634=a111_0x534039,_0x433d31=_0x1056e3 instanceof CliError?_0x1056e3[_0x22a634(0xef)]:_0x22a634(0x9f);switch(_0x433d31){case'menu_state_drift':return menuError(_0x433d31,'Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.',_0x22a634(0xe7));case'menu_permission_denied':return menuError(_0x433d31,'Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.',_0x22a634(0x88));case _0x22a634(0xf3):return menuError(_0x433d31,'Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.');case _0x22a634(0xbd):return menuError(_0x433d31,_0x22a634(0xd9),_0x22a634(0x81));case _0x22a634(0xc7):return menuError(_0x433d31,_0x22a634(0x72),'Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.');case'menu_mutation_failed':case _0x22a634(0xcf):case _0x22a634(0xe0):case _0x22a634(0xee):case'menu_sort_overflow':return menuError(_0x433d31,_0x22a634(0x89),_0x22a634(0xd5));default:return menuError(_0x22a634(0x9f),_0x22a634(0x89),_0x22a634(0xd5));}}function getFailureRecord(_0x2c4363){const _0x2ad69e=a111_0x534039;if(!(_0x2c4363 instanceof Error)||!(_0x2ad69e(0x87)in _0x2c4363))return undefined;const _0x1f8fbf=_0x2c4363[_0x2ad69e(0x87)];if(!_0x1f8fbf||typeof _0x1f8fbf!=='object')return undefined;const _0x4b6758=_0x1f8fbf['failed'];if(!Array[_0x2ad69e(0xab)](_0x4b6758)||!_0x4b6758[0x0]||typeof _0x4b6758[0x0]!==_0x2ad69e(0xae))return undefined;return _0x4b6758[0x0];}
|
|
1
|
+
const a111_0x1f3d87=a111_0x2ece;(function(_0x41a465,_0x2c0b24){const _0x3fcb57=a111_0x2ece,_0x57b9ed=_0x41a465();while(!![]){try{const _0x2e160c=-parseInt(_0x3fcb57(0x18e))/0x1*(parseInt(_0x3fcb57(0x181))/0x2)+-parseInt(_0x3fcb57(0x147))/0x3*(parseInt(_0x3fcb57(0x174))/0x4)+-parseInt(_0x3fcb57(0x142))/0x5*(parseInt(_0x3fcb57(0x17a))/0x6)+parseInt(_0x3fcb57(0x150))/0x7+-parseInt(_0x3fcb57(0x1b0))/0x8+-parseInt(_0x3fcb57(0x1ae))/0x9*(-parseInt(_0x3fcb57(0x13a))/0xa)+parseInt(_0x3fcb57(0x14d))/0xb;if(_0x2e160c===_0x2c0b24)break;else _0x57b9ed['push'](_0x57b9ed['shift']());}catch(_0x44e0dd){_0x57b9ed['push'](_0x57b9ed['shift']());}}}(a111_0x5bc7,0xd49bf));function a111_0x5bc7(){const _0x437ab9=['entries','sort','\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.','after','plan','menus','External\x20menu\x20creation\x20failed.','add','verification','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','object','\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.','url','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','menu_permission_denied','open-mode','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','Created\x20external\x20menu\x20','menu_url_invalid','menu_state_drift','External\x20HTTPS\x20URL','cause','str','menu_url_credentials_forbidden','succeeded','create\x20external\x20menu','rawerror','replace','765NbzpSS','Menu\x20','3180976RNSnBf','parentId','link','filter','POST','hasOwnProperty','byId','menu','menu\x20list','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','menu_open_mode_invalid','Create\x20an\x20external\x20website\x20link\x20menu','Whether\x20the\x20menu\x20is\x20visible','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','\x20could\x20not\x20be\x20verified.','menu_verification_failed','<redacted>','195350dUNjOK','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','Created\x20menu\x20','appCode','recovered','\x20with\x20','menu_not_found','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','2505135ErkSDd','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','flagMissing','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','Would\x20create\x20external\x20website\x20link\x20menu\x20','9507ZFjPaC','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','embedded','<platform-generated>','visibility','26845412njNeJq','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','snapshot','4146163DeKRtY','map','Run\x20','\x20has\x20an\x20unexpected\x20generated\x20path.','string','createdId','afterPlan','bool','has','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','menu_create_response_invalid','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','currentSnapshotHash','menu_mutation_failed','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','iframe','cookie','\x20after\x20response\x20loss.','isArray','Menu\x20label','menu_url_https_required','length','menu_parent_not_folder','URL','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','boolean','The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','parent-id','expectedPath','external-link-create','parent','trim','rabetbase\x20menu\x20list\x20--appcode\x20','/smartapi/menu/create','path','lookupCommand','1844yyqHGU','visible','fromEntries','create-response-validation','code','menu_create_recovery_required','18NKuGQM','hash','type','get','failed','isSafeInteger','create-menu','131662HhFMZW','\x20--format\x20compress','menu_sort_overflow','Recovered\x20menu\x20','Recovered\x20created\x20external\x20menu\x20','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','create','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','plannedActions','How\x20to\x20open\x20the\x20external\x20website','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','expectedSnapshotHash','new-window','7iEMeCt','label','data'];a111_0x5bc7=function(){return _0x437ab9;};return a111_0x5bc7();}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':a111_0x1f3d87(0x15f),'new-window':a111_0x1f3d87(0x1b2)};export function validateExternalMenuUrl(_0x4b9c97){const _0x969cd9=a111_0x1f3d87,_0xe7f13=_0x4b9c97[_0x969cd9(0x16f)]();let _0x346401;try{_0x346401=new URL(_0xe7f13);}catch{throw menuError(_0x969cd9(0x1a4),_0x969cd9(0x149),_0x969cd9(0x148));}if(_0x346401['protocol']!=='https:')throw menuError(_0x969cd9(0x164),_0x969cd9(0x13b),'Provide\x20an\x20HTTPS\x20URL.');if(_0x346401['username']||_0x346401['password'])throw menuError(_0x969cd9(0x1a9),_0x969cd9(0x15b),_0x969cd9(0x186));return _0xe7f13;}export const menuExternalLinkCreate={'service':'menu','command':a111_0x1f3d87(0x16d),'description':a111_0x1f3d87(0x134),'risk':'write','structuredErrors':!![],'flags':[{'name':'label','type':a111_0x1f3d87(0x154),'required':!![],'description':a111_0x1f3d87(0x163)},{'name':'open-mode','type':a111_0x1f3d87(0x154),'required':!![],'enum':[a111_0x1f3d87(0x14a),a111_0x1f3d87(0x18d)],'description':a111_0x1f3d87(0x18a)},{'name':a111_0x1f3d87(0x19e),'type':a111_0x1f3d87(0x154),'required':!![],'description':a111_0x1f3d87(0x1a6)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a111_0x1f3d87(0x175),'type':a111_0x1f3d87(0x169),'default':!![],'description':a111_0x1f3d87(0x135)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x3a8a06){validateAddInput(_0x3a8a06);},async 'dryRun'(_0x4ba168){const _0x4d6cc4=a111_0x1f3d87;validateAddInput(_0x4ba168);const {plan:_0x463628}=await buildSafeAddPlan(_0x4ba168,!![]),_0x328efa=_0x463628['after'],_0x361602=createBody(_0x328efa);return menuDryRunResult(_0x463628,{'method':_0x4d6cc4(0x1b4),'url':_0x4d6cc4(0x171),'body':_0x361602,'description':_0x4d6cc4(0x146)+JSON['stringify'](_0x328efa[_0x4d6cc4(0x18f)])+_0x4d6cc4(0x13f)+_0x4ba168['str'](_0x4d6cc4(0x1a1))+_0x4d6cc4(0x19b)});},async 'execute'(_0x28ec50){const _0x1d9a90=a111_0x1f3d87;validateAddInput(_0x28ec50);const _0x5449e3=await buildSafeAddPlan(_0x28ec50,![]),{plan:_0x30429e,snapshot:_0x5ad3c6}=_0x5449e3,_0x503bbb=_0x30429e[_0x1d9a90(0x194)],_0x1fba45=buildMenuLookupCommand(_0x28ec50[_0x1d9a90(0x13d)]);await recheckAddSnapshot(_0x28ec50,_0x30429e);let _0x2ab9da;try{_0x2ab9da=await createMenuEntity(_0x28ec50[_0x1d9a90(0x13d)],_0x28ec50[_0x1d9a90(0x160)],createBody(_0x503bbb));}catch(_0x55b361){const _0x23d3a8=mapMenuApiError(_0x55b361,'create\x20external\x20menu');if(!isMenuResponseLoss(_0x55b361)||_0x23d3a8[_0x1d9a90(0x178)]===_0x1d9a90(0x1a0))throw externalLinkCreateFailure(_0x23d3a8,_0x30429e,{'stage':_0x1d9a90(0x187),'failed':{},'verification':{'status':_0x1d9a90(0x17e),'lookupCommand':_0x1fba45}});return recoverAfterResponseLoss(_0x28ec50,_0x5449e3,_0x1fba45);}const _0x42a863=Number(_0x2ab9da?.['id']),_0x4b62a7=typeof _0x2ab9da?.[_0x1d9a90(0x172)]===_0x1d9a90(0x154)?_0x2ab9da[_0x1d9a90(0x172)]:'';if(!Number['isSafeInteger'](_0x42a863)||_0x42a863<=0x0||!_0x4b62a7[_0x1d9a90(0x16f)]()){const _0x12b440=menuError(_0x1d9a90(0x15a),_0x1d9a90(0x136),_0x1d9a90(0x152)+_0x1fba45+_0x1d9a90(0x193));throw externalLinkCreateFailure(_0x12b440,_0x30429e,{'stage':_0x1d9a90(0x177),'succeeded':Number['isSafeInteger'](_0x42a863)&&_0x42a863>0x0?[{'id':_0x42a863,'created':!![]}]:[],'failed':{'createdId':Number[_0x1d9a90(0x17f)](_0x42a863)?_0x42a863:null,'generatedPathConfirmed':Boolean(_0x4b62a7[_0x1d9a90(0x16f)]())},'warnings':[_0x1d9a90(0x15e)],'after':Number['isSafeInteger'](_0x42a863)&&_0x42a863>0x0?{..._0x503bbb,'id':_0x42a863,'path':_0x4b62a7}:_0x503bbb,'verification':{'status':_0x1d9a90(0x17e),'lookupCommand':_0x1fba45,...Number[_0x1d9a90(0x17f)](_0x42a863)&&_0x42a863>0x0?{'targetId':_0x42a863}:{}}});}const _0xa6ec9b=await readAndVerifyCreatedMenu({'appCode':_0x28ec50[_0x1d9a90(0x13d)],'cookie':_0x28ec50[_0x1d9a90(0x160)],'plan':_0x30429e,'afterPlan':_0x503bbb,'createdId':_0x42a863,'expectedPath':_0x4b62a7,'lookupCommand':_0x1fba45,'recovered':![]});return creationSuccess(_0x30429e,_0xa6ec9b[_0x1d9a90(0x14f)],_0xa6ec9b['fact'],![]);}};function validateAddInput(_0x48505c){const _0x6db613=a111_0x1f3d87;if(!_0x48505c[_0x6db613(0x1a8)](_0x6db613(0x18f))[_0x6db613(0x16f)]())throw CliErrors[_0x6db613(0x144)]('label');resolveExternalMenuType(_0x48505c),validateExternalMenuUrl(_0x48505c['str'](_0x6db613(0x19e))),parseParentId(_0x48505c,_0x6db613(0x16b)),validateSort(_0x48505c);}function resolveExternalMenuType(_0x397fb9){const _0x5dda72=a111_0x1f3d87,_0x4f1476=_0x397fb9['str'](_0x5dda72(0x1a1))['trim']();if(!_0x4f1476)throw CliErrors[_0x5dda72(0x144)](_0x5dda72(0x1a1));const _0x431788=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x4f1476];if(!_0x431788)throw menuError(_0x5dda72(0x1ba),'--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.',_0x5dda72(0x159));return _0x431788;}async function buildAddPlan(_0x3b81eb,_0x413ed5){const _0x4c3728=a111_0x1f3d87,_0x23ec05=await fetchMutationSnapshot(_0x3b81eb,'create\x20external\x20menu'),_0x47b03f=parseParentId(_0x3b81eb,'parent-id')??null;if(_0x47b03f!=null)requireFolder(_0x23ec05,_0x47b03f);const _0x4a355a=validateSort(_0x3b81eb),_0x93c9c2=_0x4a355a??nextSiblingSort(_0x23ec05,_0x47b03f,_0x4c3728(0x1b7)),_0x4f1190=_0x3b81eb[_0x4c3728(0x1a8)](_0x4c3728(0x18f))[_0x4c3728(0x16f)](),_0x51cf22=resolveExternalMenuType(_0x3b81eb),_0x481f30=validateExternalMenuUrl(_0x3b81eb['str'](_0x4c3728(0x19e))),_0x533a96=Object['prototype'][_0x4c3728(0x1b5)]['call'](_0x3b81eb['rawFlags'],_0x4c3728(0x175))?_0x3b81eb[_0x4c3728(0x157)](_0x4c3728(0x175)):!![],_0x21b64c={'id':null,'parentId':_0x47b03f,'label':_0x4f1190,'path':_0x4c3728(0x14b),'url':_0x481f30,'type':_0x51cf22,'visible':_0x533a96,'sort':_0x93c9c2},_0x5e9dfc=buildMenuLookupCommand(_0x3b81eb['appCode']),_0x5d0e5b=mutationResult({'operation':_0x4c3728(0x198),'selector':{'parentId':_0x47b03f,'type':_0x51cf22,'label':_0x4f1190,'url':_0x481f30},'before':null,'after':_0x21b64c,'dryRun':_0x413ed5,'backend':[{'method':_0x4c3728(0x1b4),'path':_0x4c3728(0x171)}],'plannedActions':[{'stage':_0x4c3728(0x180),'method':_0x4c3728(0x1b4),'path':_0x4c3728(0x171),'body':createBody(_0x21b64c)}],'snapshotHash':_0x23ec05['hash'],'warnings':[_0x4c3728(0x19a)],'verification':{'lookupCommand':_0x5e9dfc}});return{'plan':_0x5d0e5b,'snapshot':_0x23ec05};}async function buildSafeAddPlan(_0x131e6f,_0xce74cb){try{return await buildAddPlan(_0x131e6f,_0xce74cb);}catch(_0xd12c56){throw safeMenuAddError(_0xd12c56);}}async function recheckAddSnapshot(_0x558d3b,_0x1275d1){const _0x5f1abf=a111_0x1f3d87;try{await recheckMutationSnapshot(_0x558d3b,_0x1275d1,_0x5f1abf(0x1ab));}catch(_0x449219){const _0x368d32=getFailureRecord(_0x449219);throw externalLinkCreateFailure(_0x449219,_0x1275d1,{'stage':'pre-write-recheck','failed':{..._0x368d32?.[_0x5f1abf(0x18c)]?{'expectedSnapshotHash':_0x368d32[_0x5f1abf(0x18c)]}:{},..._0x368d32?.[_0x5f1abf(0x15c)]?{'currentSnapshotHash':_0x368d32['currentSnapshotHash']}:{}}});}}function createBody(_0x41e5af){const _0x3f0a25=a111_0x1f3d87;return{'parentId':toApiParentId(_0x41e5af[_0x3f0a25(0x1b1)]),'label':String(_0x41e5af[_0x3f0a25(0x18f)]),'type':String(_0x41e5af[_0x3f0a25(0x17c)]),'url':String(_0x41e5af['url']),'visible':Boolean(_0x41e5af[_0x3f0a25(0x175)]),'sort':Number(_0x41e5af['sort']),'extend':{}};}function buildMenuLookupCommand(_0x391398){const _0x42c68c=a111_0x1f3d87,_0x261c4b='\x27'+_0x391398[_0x42c68c(0x1ad)](/'/g,'\x27\x5c\x27\x27')+'\x27';return _0x42c68c(0x170)+_0x261c4b+_0x42c68c(0x182);}async function recoverAfterResponseLoss(_0x590a6f,_0x16099e,_0x2436f6){const _0x6d908d=a111_0x1f3d87,{plan:_0x182581,snapshot:_0x4bc975}=_0x16099e,_0x24d722=_0x182581[_0x6d908d(0x194)];let _0x1898c8;try{_0x1898c8=await fetchMenuSnapshot(_0x590a6f[_0x6d908d(0x13d)],_0x590a6f[_0x6d908d(0x160)]);}catch(_0x1f6b42){throw recoveryRequiredFailure(_0x182581,_0x2436f6,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x1d447b=_0x1898c8[_0x6d908d(0x196)][_0x6d908d(0x1b3)](_0x54aaa0=>_0x54aaa0[_0x6d908d(0x1b1)]===_0x24d722[_0x6d908d(0x1b1)]&&_0x54aaa0[_0x6d908d(0x17c)]===_0x24d722['type']&&_0x54aaa0[_0x6d908d(0x18f)]===_0x24d722[_0x6d908d(0x18f)]&&_0x54aaa0[_0x6d908d(0x19e)]===_0x24d722[_0x6d908d(0x19e)]),_0x227c73=_0x1d447b[_0x6d908d(0x1b3)](_0x193788=>!_0x4bc975[_0x6d908d(0x1b6)]['has'](_0x193788['id'])),_0x227aae=_0x1d447b[_0x6d908d(0x1b3)](_0x41cd1a=>_0x4bc975[_0x6d908d(0x1b6)][_0x6d908d(0x158)](_0x41cd1a['id']));if(_0x1d447b[_0x6d908d(0x165)]!==0x1||_0x227c73[_0x6d908d(0x165)]!==0x1)throw recoveryRequiredFailure(_0x182581,_0x2436f6,{'matchCount':_0x1d447b['length'],'newMatchCount':_0x227c73[_0x6d908d(0x165)],'preexistingMatchCount':_0x227aae[_0x6d908d(0x165)]});const _0x4bd31f=_0x227c73[0x0];try{verifyCreatedFact(_0x4bd31f,_0x4bd31f['id'],_0x24d722,null);}catch(_0x5524b5){const _0x457331=_0x5524b5 instanceof Error&&'code'in _0x5524b5?_0x5524b5:menuError(_0x6d908d(0x138),_0x6d908d(0x184)+_0x4bd31f['id']+_0x6d908d(0x137),'Run\x20'+_0x2436f6+_0x6d908d(0x18b));throw externalLinkCreateFailure(_0x457331,_0x182581,{'stage':_0x6d908d(0x199),'succeeded':[{'id':_0x4bd31f['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x4bd31f['id'],'finalFactsConfirmed':![]},'after':_0x4bd31f,'warnings':[_0x6d908d(0x1af)+_0x4bd31f['id']+'\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.'],'verification':{'status':'failed','targetId':_0x4bd31f['id'],'recovered':!![],'lookupCommand':_0x2436f6}});}return creationSuccess(_0x182581,_0x1898c8,_0x4bd31f,!![]);}function recoveryRequiredFailure(_0x1a95ef,_0x1c344a,_0x15fb24){const _0x3ca68d=a111_0x1f3d87,_0x44e37c=menuError(_0x3ca68d(0x179),'The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.',_0x3ca68d(0x152)+_0x1c344a+'\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.');return externalLinkCreateFailure(_0x44e37c,_0x1a95ef,{'stage':'create-recovery','failed':_0x15fb24,'warnings':['The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.'],'verification':{'status':_0x3ca68d(0x17e),..._0x15fb24,'lookupCommand':_0x1c344a}});}async function readAndVerifyCreatedMenu(_0x52c791){const _0x2fe1bc=a111_0x1f3d87;let _0x79a4f1;try{_0x79a4f1=await fetchMenuSnapshot(_0x52c791[_0x2fe1bc(0x13d)],_0x52c791['cookie']);}catch(_0xe49af7){const _0x1b435e=menuError(_0x2fe1bc(0x138),'Menu\x20'+_0x52c791[_0x2fe1bc(0x155)]+_0x2fe1bc(0x188),_0x2fe1bc(0x152)+_0x52c791[_0x2fe1bc(0x173)]+_0x2fe1bc(0x168));throw externalLinkCreateFailure(_0x1b435e,_0x52c791[_0x2fe1bc(0x195)],{'stage':_0x2fe1bc(0x199),'succeeded':[{'id':_0x52c791[_0x2fe1bc(0x155)],'created':!![]}],'failed':{'id':_0x52c791[_0x2fe1bc(0x155)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x52c791[_0x2fe1bc(0x156)],'id':_0x52c791[_0x2fe1bc(0x155)],'path':_0x52c791[_0x2fe1bc(0x16c)]},'warnings':['Menu\x20'+_0x52c791['createdId']+'\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.'],'verification':{'status':_0x2fe1bc(0x17e),'targetId':_0x52c791[_0x2fe1bc(0x155)],'lookupCommand':_0x52c791['lookupCommand']}});}const _0x1fa094=_0x79a4f1[_0x2fe1bc(0x1b6)][_0x2fe1bc(0x17d)](_0x52c791['createdId']);try{if(!_0x1fa094)throw menuError('menu_verification_failed',_0x2fe1bc(0x13c)+_0x52c791[_0x2fe1bc(0x155)]+'\x20is\x20missing\x20from\x20final\x20menu\x20facts.',_0x2fe1bc(0x152)+_0x52c791[_0x2fe1bc(0x173)]+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');verifyCreatedFact(_0x1fa094,_0x52c791[_0x2fe1bc(0x155)],_0x52c791['afterPlan'],_0x52c791[_0x2fe1bc(0x16c)]);}catch(_0x506ffa){const _0xe55d5f=_0x506ffa instanceof Error&&'code'in _0x506ffa?_0x506ffa:menuError(_0x2fe1bc(0x138),'Created\x20menu\x20'+_0x52c791[_0x2fe1bc(0x155)]+'\x20failed\x20final\x20verification.',_0x2fe1bc(0x152)+_0x52c791['lookupCommand']+_0x2fe1bc(0x168));throw externalLinkCreateFailure(_0xe55d5f,_0x52c791[_0x2fe1bc(0x195)],{'stage':_0x2fe1bc(0x199),'succeeded':[{'id':_0x52c791[_0x2fe1bc(0x155)],'created':!![]}],'failed':{'id':_0x52c791['createdId'],'finalFactsConfirmed':![]},'after':_0x1fa094??{..._0x52c791['afterPlan'],'id':_0x52c791[_0x2fe1bc(0x155)],'path':_0x52c791[_0x2fe1bc(0x16c)]},'warnings':[_0x2fe1bc(0x1af)+_0x52c791['createdId']+_0x2fe1bc(0x19d)],'verification':{'status':_0x2fe1bc(0x17e),'targetId':_0x52c791[_0x2fe1bc(0x155)],'recovered':_0x52c791[_0x2fe1bc(0x13e)],'lookupCommand':_0x52c791[_0x2fe1bc(0x173)]}});}return{'snapshot':_0x79a4f1,'fact':_0x1fa094};}function verifyCreatedFact(_0x26ce7f,_0x3b8559,_0x44ea1b,_0x39e190){const _0x2b5c5c=a111_0x1f3d87;if(!Number[_0x2b5c5c(0x17f)](_0x26ce7f['id'])||_0x26ce7f['id']<=0x0||_0x26ce7f['id']!==_0x3b8559)throw menuError('menu_verification_failed','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.');const _0x345e96=[[_0x2b5c5c(0x16e),_0x26ce7f[_0x2b5c5c(0x1b1)],_0x44ea1b[_0x2b5c5c(0x1b1)]],['type',_0x26ce7f['type'],_0x44ea1b[_0x2b5c5c(0x17c)]],[_0x2b5c5c(0x18f),_0x26ce7f[_0x2b5c5c(0x18f)],_0x44ea1b[_0x2b5c5c(0x18f)]],[_0x2b5c5c(0x167),_0x26ce7f['url'],_0x44ea1b[_0x2b5c5c(0x19e)]],[_0x2b5c5c(0x14c),_0x26ce7f[_0x2b5c5c(0x175)],_0x44ea1b[_0x2b5c5c(0x175)]],[_0x2b5c5c(0x192),_0x26ce7f[_0x2b5c5c(0x192)],_0x44ea1b['sort']]];for(const [_0x49369c,_0x2b43d1,_0x2c2c0a]of _0x345e96){if(_0x2b43d1!==_0x2c2c0a)throw menuError(_0x2b5c5c(0x138),_0x2b5c5c(0x13c)+_0x26ce7f['id']+'\x20has\x20an\x20unexpected\x20'+_0x49369c+'.',_0x2b5c5c(0x143));}if(!_0x26ce7f[_0x2b5c5c(0x172)][_0x2b5c5c(0x16f)]()||_0x39e190!==null&&_0x26ce7f[_0x2b5c5c(0x172)]!==_0x39e190)throw menuError(_0x2b5c5c(0x138),'Created\x20menu\x20'+_0x26ce7f['id']+_0x2b5c5c(0x153),_0x2b5c5c(0x143));}function creationSuccess(_0x4b7e66,_0x517a1d,_0x5f41dd,_0x492830){const _0x4c4d8a=a111_0x1f3d87,_0x561231=mutationResult({..._0x4b7e66,'after':_0x5f41dd,'dryRun':![],'succeeded':[{'id':_0x5f41dd['id'],'created':!![],'recovered':_0x492830}],'verification':{'checkedBy':_0x4c4d8a(0x1b8),'snapshotHash':_0x517a1d[_0x4c4d8a(0x17b)],'targetId':_0x5f41dd['id'],'recovered':_0x492830,'path':_0x5f41dd[_0x4c4d8a(0x172)]}});return{'ok':!![],'message':_0x492830?_0x4c4d8a(0x185)+_0x5f41dd['id']+_0x4c4d8a(0x161):_0x4c4d8a(0x1a3)+_0x5f41dd['id']+'.','data':{..._0x561231,'recovered':_0x492830}};}function a111_0x2ece(_0x54e598,_0x16e357){_0x54e598=_0x54e598-0x134;const _0x5bc769=a111_0x5bc7();let _0x2ece6c=_0x5bc769[_0x54e598];return _0x2ece6c;}function externalLinkCreateFailure(_0xccf20,_0x905185,_0x48b08a){const _0xc69bc2=a111_0x1f3d87;return menuFailure(safeMenuAddError(_0xccf20),redactFailurePlan(_0x905185),{..._0x48b08a,'succeeded':_0x48b08a[_0xc69bc2(0x1aa)]?.['map'](redactFailureRecord),'failed':_0x48b08a[_0xc69bc2(0x17e)]?redactFailureRecord(_0x48b08a['failed']):undefined,'verification':_0x48b08a[_0xc69bc2(0x199)]?redactFailureRecord(_0x48b08a[_0xc69bc2(0x199)]):undefined,'after':_0x48b08a[_0xc69bc2(0x194)]===undefined?undefined:redactFailureValue(_0x48b08a['after'])});}function redactFailurePlan(_0x40ed47){const _0x5550ba=a111_0x1f3d87;return{..._0x40ed47,'selector':redactFailureRecord(_0x40ed47['selector']),'before':redactFailureValue(_0x40ed47['before']),'after':redactFailureValue(_0x40ed47[_0x5550ba(0x194)]),'plannedActions':_0x40ed47[_0x5550ba(0x189)]?.[_0x5550ba(0x151)](_0x183485=>({..._0x183485,'body':redactFailureRecord(_0x183485['body'])})),'succeeded':_0x40ed47[_0x5550ba(0x1aa)][_0x5550ba(0x151)](redactFailureRecord),'failed':_0x40ed47['failed']['map'](redactFailureRecord),'verification':_0x40ed47['verification']?redactFailureRecord(_0x40ed47[_0x5550ba(0x199)]):undefined};}function redactFailureRecord(_0x8cd39d){return redactFailureValue(_0x8cd39d);}function redactFailureValue(_0x1b6744,_0x27471b=''){const _0x567106=a111_0x1f3d87,_0x22fe8d=_0x27471b['toLowerCase']()[_0x567106(0x1ad)](/[^a-z0-9]/g,'');if([_0x567106(0x1a7),'causemessage','readbackerror',_0x567106(0x1ac)]['includes'](_0x22fe8d))return _0x567106(0x139);if(Array[_0x567106(0x162)](_0x1b6744))return _0x1b6744[_0x567106(0x151)](_0xdd9231=>redactFailureValue(_0xdd9231));if(_0x1b6744&&typeof _0x1b6744==='object')return Object[_0x567106(0x176)](Object[_0x567106(0x191)](_0x1b6744)[_0x567106(0x151)](([_0x534eaa,_0x46af0f])=>[_0x534eaa,redactFailureValue(_0x46af0f,_0x534eaa)]));return _0x1b6744;}function safeMenuAddError(_0x33be56){const _0x43b657=a111_0x1f3d87,_0x30aeb3=_0x33be56 instanceof CliError?_0x33be56['code']:_0x43b657(0x15d);switch(_0x30aeb3){case _0x43b657(0x1a5):return menuError(_0x30aeb3,_0x43b657(0x1b9),_0x43b657(0x141));case _0x43b657(0x1a0):return menuError(_0x30aeb3,_0x43b657(0x19f),'Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.');case _0x43b657(0x15a):return menuError(_0x30aeb3,'Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.',_0x43b657(0x14e));case _0x43b657(0x138):return menuError(_0x30aeb3,'Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.');case'menu_create_recovery_required':return menuError(_0x30aeb3,_0x43b657(0x16a),_0x43b657(0x145));case _0x43b657(0x15d):case _0x43b657(0x140):case _0x43b657(0x166):case'menu_sort_invalid':case _0x43b657(0x183):return menuError(_0x30aeb3,_0x43b657(0x197),_0x43b657(0x1a2));default:return menuError(_0x43b657(0x15d),_0x43b657(0x197),'Inspect\x20current\x20menu\x20facts\x20before\x20retrying.');}}function getFailureRecord(_0xc5191a){const _0x5cf210=a111_0x1f3d87;if(!(_0xc5191a instanceof Error)||!(_0x5cf210(0x190)in _0xc5191a))return undefined;const _0x4d898e=_0xc5191a[_0x5cf210(0x190)];if(!_0x4d898e||typeof _0x4d898e!==_0x5cf210(0x19c))return undefined;const _0x120154=_0x4d898e[_0x5cf210(0x17e)];if(!Array[_0x5cf210(0x162)](_0x120154)||!_0x120154[0x0]||typeof _0x120154[0x0]!==_0x5cf210(0x19c))return undefined;return _0x120154[0x0];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a112_0x24df(){const _0x58a703=['\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','New\x20external\x20HTTPS\x20URL','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','14gYdaht','968PADXvE','hash','appCode','link','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','sort','1952856oneafR','\x20has\x20','url','rabetbase\x20menu\x20list\x20--appcode\x20','/smartapi/menu/update','The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','POST','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','\x20URL\x20update\x20did\x20not\x20take\x20effect.','failed',',\x20current\x20','get','36aGzjAf','Updated\x20external\x20URL\x20for\x20menu\x20','unknown','flagMissing','\x20changed\x20during\x20the\x20URL-only\x20update.','Response\x20was\x20lost\x20and\x20menu\x20','\x20has\x20an\x20empty\x20platform\x20path.','menu_permission_denied','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','5828604xwaAdG','cookie','expect-url','The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','9968292DrsrlQ','Run\x20','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','update\x20external\x20menu\x20URL','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','\x20is\x20type\x20\x22','str','trim','path','Menu\x20','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.','\x20direct\x20child\x20menu(s).','readbackFailed','body','type','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','708030dEEzit','\x20--format\x20compress','plan','iframe','replace','menu_state_drift','label','childrenCount','verify\x20external\x20menu\x20URL\x20update','\x20already\x20matches\x20the\x20requested\x20URL.','code','requestedUrlObserved','parentId','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','87026qbGEmT','1848152rODpgB','string','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','menu_external_link_path_missing','\x22,\x20not\x20iframe\x20or\x20link.','\x20parent\x20changed:\x20expected\x20','snapshot','23GGkIfc','menu_external_link_type_required','external-link-update','menu\x20list','update-recovery','286930nokaVg','visible','write','\x20could\x20not\x20be\x20verified\x20safely'];a112_0x24df=function(){return _0x58a703;};return a112_0x24df();}const a112_0x2e204d=a112_0xbb5a;(function(_0x3a6fb1,_0x87383f){const _0x26fb5f=a112_0xbb5a,_0x4031cc=_0x3a6fb1();while(!![]){try{const _0x238246=parseInt(_0x26fb5f(0x149))/0x1*(parseInt(_0x26fb5f(0x141))/0x2)+parseInt(_0x26fb5f(0x15c))/0x3+parseInt(_0x26fb5f(0x168))/0x4*(parseInt(_0x26fb5f(0x133))/0x5)+parseInt(_0x26fb5f(0x11e))/0x6+-parseInt(_0x26fb5f(0x155))/0x7*(-parseInt(_0x26fb5f(0x142))/0x8)+-parseInt(_0x26fb5f(0x122))/0x9+parseInt(_0x26fb5f(0x14e))/0xa*(-parseInt(_0x26fb5f(0x156))/0xb);if(_0x238246===_0x87383f)break;else _0x4031cc['push'](_0x4031cc['shift']());}catch(_0x13773a){_0x4031cc['push'](_0x4031cc['shift']());}}}(a112_0x24df,0xb1841));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{validateExternalMenuUrl}from'../../commands/menu/external-link-create.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,hasFlag,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,parseParentId,recheckMutationSnapshot,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a112_0x2e204d(0x162),'path':a112_0x2e204d(0x160)}];export const menuExternalLinkUpdate={'service':'menu','command':a112_0x2e204d(0x14b),'description':a112_0x2e204d(0x124),'risk':a112_0x2e204d(0x150),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':'url','type':'string','required':!![],'description':a112_0x2e204d(0x153)},{'name':'expect-url','type':a112_0x2e204d(0x143),'required':!![],'description':'Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed'},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x405d6a){validateInput(_0x405d6a);},async 'dryRun'(_0x56ae2d){const _0x3a61e5=a112_0x2e204d;validateInput(_0x56ae2d);const _0x2b8424=await buildPlan(_0x56ae2d,!![]);return menuDryRunResult(_0x2b8424[_0x3a61e5(0x135)],{'method':_0x3a61e5(0x162),'url':_0x3a61e5(0x160),'body':_0x2b8424[_0x3a61e5(0x130)],'description':'Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20'+_0x2b8424['body']['id']+'.'});},async 'execute'(_0x105d71){const _0x94ce=a112_0x2e204d;validateInput(_0x105d71);const _0xe87263=await buildPlan(_0x105d71,![]),{plan:_0x2807fb,body:_0x125ca2,before:_0x4f7b28,noChanges:_0x25d6af}=_0xe87263,_0x20d3d1=_0x125ca2['id'];if(_0x25d6af)return updateSuccess(_0x2807fb,_0xe87263[_0x94ce(0x148)],_0x4f7b28,!![],![]);await recheckMutationSnapshot(_0x105d71,_0x2807fb,_0x94ce(0x125),_0x20d3d1);try{await updateMenuEntity(_0x105d71['appCode'],_0x105d71[_0x94ce(0x11f)],{'id':_0x125ca2['id'],'url':_0x125ca2['url']});}catch(_0x49ff3d){const _0x2cf1bb=mapMenuApiError(_0x49ff3d,_0x94ce(0x125),_0x20d3d1);if(isMenuResponseLoss(_0x49ff3d)&&_0x2cf1bb[_0x94ce(0x13d)]!==_0x94ce(0x11c))return recoverAfterResponseLoss(_0x105d71,_0xe87263);throw menuFailure(_0x2cf1bb,_0x2807fb,{'stage':'update','failed':{'id':_0x20d3d1},'warnings':[_0x94ce(0x15a)],'verification':{'status':_0x94ce(0x165),'targetId':_0x20d3d1,'lookupCommand':buildLookupCommand(_0x105d71[_0x94ce(0x158)])}});}let _0x510c2e,_0x4f2a37;try{_0x510c2e=await fetchMenuSnapshot(_0x105d71[_0x94ce(0x158)],_0x105d71[_0x94ce(0x11f)]),_0x4f2a37=requireMenu(_0x510c2e,_0x20d3d1),verifyUpdatedFact(_0x4f7b28,_0x4f2a37,_0x125ca2[_0x94ce(0x15e)]);}catch(_0xe05306){const _0x1a8592=describeMenuErrorCause(_0xe05306,_0x94ce(0x13b),_0x20d3d1),_0x4841b8=asVerificationError(_0xe05306,'Update\x20request\x20for\x20menu\x20'+_0x20d3d1+_0x94ce(0x144));throw menuFailure(_0x4841b8,_0x2807fb,{'stage':'verification','succeeded':[{'id':_0x20d3d1,'updateRequested':!![]}],'failed':{'id':_0x20d3d1,'requestedStateConfirmed':![],..._0x1a8592},'warnings':[_0x94ce(0x121)],'verification':{'status':_0x94ce(0x165),'targetId':_0x20d3d1,'lookupCommand':buildLookupCommand(_0x105d71['appCode'])}});}return updateSuccess(_0x2807fb,_0x510c2e,_0x4f2a37,![],![]);}};function validateInput(_0xd4c03){const _0x3a69b6=a112_0x2e204d;validateExactId(_0xd4c03),requiredUrl(_0xd4c03,_0x3a69b6(0x15e)),requiredExpectedUrl(_0xd4c03),parseParentId(_0xd4c03,'expect-parent-id',{'required':!![]});}function requiredUrl(_0x2e06c1,_0x37e0cb){const _0x53164a=a112_0x2e204d;if(!hasFlag(_0x2e06c1,_0x37e0cb)||!_0x2e06c1[_0x53164a(0x129)](_0x37e0cb)['trim']())throw CliErrors[_0x53164a(0x16b)](_0x37e0cb);return validateExternalMenuUrl(_0x2e06c1[_0x53164a(0x129)](_0x37e0cb));}function requiredExpectedUrl(_0x35ed4a){const _0x36c951=a112_0x2e204d;if(!hasFlag(_0x35ed4a,_0x36c951(0x120))||!_0x35ed4a[_0x36c951(0x129)](_0x36c951(0x120))[_0x36c951(0x12a)]())throw CliErrors[_0x36c951(0x16b)](_0x36c951(0x120));return _0x35ed4a[_0x36c951(0x129)](_0x36c951(0x120))['trim']();}async function buildPlan(_0x1feacb,_0x5363bd){const _0x21fdf6=a112_0x2e204d,_0x17be42=validateExactId(_0x1feacb),_0x10ac23=requiredUrl(_0x1feacb,'url'),_0x549b1a=requiredExpectedUrl(_0x1feacb),_0x29b8ac=parseParentId(_0x1feacb,'expect-parent-id',{'required':!![]}),_0x225506=await fetchMutationSnapshot(_0x1feacb,_0x21fdf6(0x125),_0x17be42),_0x9b1699=requireMenu(_0x225506,_0x17be42);assertExternalLinkLeaf(_0x9b1699);if(_0x9b1699[_0x21fdf6(0x13f)]!==_0x29b8ac)throw menuError(_0x21fdf6(0x138),_0x21fdf6(0x12c)+_0x17be42+_0x21fdf6(0x147)+formatParent(_0x29b8ac)+_0x21fdf6(0x166)+formatParent(_0x9b1699['parentId'])+'.',_0x21fdf6(0x154));const _0x477073=_0x9b1699['url']===_0x10ac23;if(!_0x477073&&_0x9b1699[_0x21fdf6(0x15e)]!==_0x549b1a)throw menuError(_0x21fdf6(0x138),_0x21fdf6(0x12c)+_0x17be42+'\x20URL\x20no\x20longer\x20matches\x20--expect-url.',_0x21fdf6(0x132));const _0xb5ae78={'id':_0x17be42,'appCode':_0x1feacb[_0x21fdf6(0x158)],'url':_0x10ac23},_0x2b0eec={..._0x9b1699,'url':_0x10ac23};return{'body':_0xb5ae78,'before':_0x9b1699,'noChanges':_0x477073,'snapshot':_0x225506,'plan':mutationResult({'operation':_0x21fdf6(0x14b),'selector':{'id':_0x17be42},'before':_0x9b1699,'after':_0x2b0eec,'dryRun':_0x5363bd,'backend':[...BACKEND],'plannedActions':_0x477073?[]:[{'stage':'update-external-link-url','method':'POST','path':_0x21fdf6(0x160),'body':_0xb5ae78}],'snapshotHash':_0x225506[_0x21fdf6(0x157)],'warnings':_0x477073?[_0x21fdf6(0x140)]:[]})};}function assertExternalLinkLeaf(_0x395b97){const _0x25cfea=a112_0x2e204d;if(_0x395b97[_0x25cfea(0x131)]!==_0x25cfea(0x136)&&_0x395b97[_0x25cfea(0x131)]!==_0x25cfea(0x159))throw menuError(_0x25cfea(0x14a),_0x25cfea(0x12c)+_0x395b97['id']+_0x25cfea(0x128)+(_0x395b97[_0x25cfea(0x131)]||_0x25cfea(0x16a))+_0x25cfea(0x146),_0x25cfea(0x11d));if(_0x395b97[_0x25cfea(0x13a)]!==0x0)throw menuError('menu_external_link_not_leaf','Menu\x20'+_0x395b97['id']+_0x25cfea(0x15d)+_0x395b97['childrenCount']+_0x25cfea(0x12e),_0x25cfea(0x12d));if(!_0x395b97[_0x25cfea(0x12b)]['trim']())throw menuError(_0x25cfea(0x145),'Menu\x20'+_0x395b97['id']+_0x25cfea(0x16e),_0x25cfea(0x163));}function a112_0xbb5a(_0x28a639,_0x5e2fcd){_0x28a639=_0x28a639-0x11c;const _0x24df18=a112_0x24df();let _0xbb5a74=_0x24df18[_0x28a639];return _0xbb5a74;}function verifyUpdatedFact(_0x44872b,_0x676720,_0x35b5b6){const _0x4726f4=a112_0x2e204d;assertExternalLinkLeaf(_0x676720);const _0x2c5652=[['id',_0x676720['id'],_0x44872b['id']],[_0x4726f4(0x139),_0x676720[_0x4726f4(0x139)],_0x44872b['label']],['type',_0x676720['type'],_0x44872b[_0x4726f4(0x131)]],['path',_0x676720['path'],_0x44872b['path']],[_0x4726f4(0x13f),_0x676720[_0x4726f4(0x13f)],_0x44872b[_0x4726f4(0x13f)]],['sort',_0x676720[_0x4726f4(0x15b)],_0x44872b[_0x4726f4(0x15b)]],[_0x4726f4(0x14f),_0x676720['visible'],_0x44872b[_0x4726f4(0x14f)]]];for(const [_0x1155cc,_0x5723ea,_0x4448fe]of _0x2c5652){assertVerified(_0x5723ea===_0x4448fe,'Menu\x20'+_0x44872b['id']+'\x20'+_0x1155cc+_0x4726f4(0x16c));}assertVerified(_0x676720[_0x4726f4(0x15e)]===_0x35b5b6,_0x4726f4(0x12c)+_0x44872b['id']+_0x4726f4(0x164));}function updateSuccess(_0xb47ae9,_0x5a1fe7,_0x4691c8,_0x56ac39,_0x3d21b6){const _0x91a190=a112_0x2e204d,_0x14c87c=_0x4691c8['id'],_0x45e5a3=mutationResult({..._0xb47ae9,'after':_0x4691c8,'dryRun':![],'succeeded':[{'id':_0x14c87c,'updated':!_0x56ac39,'skipped':_0x56ac39,'recovered':_0x3d21b6}],'verification':{'checkedBy':_0x91a190(0x14c),'snapshotHash':_0x5a1fe7[_0x91a190(0x157)],'targetId':_0x14c87c,'matchesRequestedState':!![],'recovered':_0x3d21b6}});return{'ok':!![],'message':_0x3d21b6?_0x91a190(0x126)+_0x14c87c+'.':_0x56ac39?_0x91a190(0x12c)+_0x14c87c+_0x91a190(0x13c):_0x91a190(0x169)+_0x14c87c+'.','data':{..._0x45e5a3,'recovered':_0x3d21b6}};}async function recoverAfterResponseLoss(_0x5a5931,_0xd3a415){const _0x50247b=a112_0x2e204d,{plan:_0x11c15a,before:_0x2aba0e,body:_0x153463}=_0xd3a415;let _0x48ba0d;try{_0x48ba0d=await fetchMenuSnapshot(_0x5a5931['appCode'],_0x5a5931['cookie']);}catch{throw recoveryRequired(_0x11c15a,_0x5a5931['appCode'],{'id':_0x153463['id'],'readbackFailed':!![]});}const _0x44f6b9=_0x48ba0d['byId'][_0x50247b(0x167)](_0x153463['id']);if(!_0x44f6b9||_0x44f6b9['url']!==_0x153463[_0x50247b(0x15e)])throw recoveryRequired(_0x11c15a,_0x5a5931['appCode'],{'id':_0x153463['id'],'requestedUrlObserved':![],'after':_0x44f6b9??null});try{verifyUpdatedFact(_0x2aba0e,_0x44f6b9,_0x153463[_0x50247b(0x15e)]);}catch(_0x258e6e){const _0x3dac60=asVerificationError(_0x258e6e,_0x50247b(0x16d)+_0x153463['id']+_0x50247b(0x151));throw menuFailure(_0x3dac60,_0x11c15a,{'stage':_0x50247b(0x14d),'succeeded':[{'id':_0x153463['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x153463['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x44f6b9,'warnings':[_0x50247b(0x127)],'verification':{'status':_0x50247b(0x165),'targetId':_0x153463['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x5a5931[_0x50247b(0x158)])}});}return updateSuccess(_0x11c15a,_0x48ba0d,_0x44f6b9,![],!![]);}function recoveryRequired(_0x4f6f8b,_0x56fd1f,_0x138661){const _0x3bbbae=a112_0x2e204d,_0x440f9b=menuError('menu_update_recovery_required','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.',_0x3bbbae(0x123)+buildLookupCommand(_0x56fd1f)+_0x3bbbae(0x152));return menuFailure(_0x440f9b,_0x4f6f8b,{'stage':_0x3bbbae(0x14d),'failed':{'id':_0x138661['id'],..._0x138661['requestedUrlObserved']===undefined?{}:{'requestedUrlObserved':_0x138661['requestedUrlObserved']},..._0x138661['readbackFailed']?{'readbackFailed':!![]}:{}},'after':_0x138661['after'],'warnings':[_0x3bbbae(0x161)],'verification':{'status':_0x3bbbae(0x165),'targetId':_0x138661['id'],..._0x138661[_0x3bbbae(0x13e)]===undefined?{}:{'requestedUrlObserved':_0x138661[_0x3bbbae(0x13e)]},..._0x138661[_0x3bbbae(0x12f)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x56fd1f)}});}function buildLookupCommand(_0x3fac38){const _0x1fa3d6=a112_0x2e204d,_0x23bbba='\x27'+_0x3fac38[_0x1fa3d6(0x137)](/'/g,'\x27\x5c\x27\x27')+'\x27';return _0x1fa3d6(0x15f)+_0x23bbba+_0x1fa3d6(0x134);}
|
|
1
|
+
const a112_0x877a16=a112_0x11dd;(function(_0x3c1db9,_0x237086){const _0x2fcd28=a112_0x11dd,_0x239f0f=_0x3c1db9();while(!![]){try{const _0x1dd9ad=-parseInt(_0x2fcd28(0x8c))/0x1*(-parseInt(_0x2fcd28(0x90))/0x2)+-parseInt(_0x2fcd28(0x70))/0x3*(parseInt(_0x2fcd28(0xb2))/0x4)+-parseInt(_0x2fcd28(0xaa))/0x5*(-parseInt(_0x2fcd28(0x7f))/0x6)+parseInt(_0x2fcd28(0x6e))/0x7+-parseInt(_0x2fcd28(0x71))/0x8*(parseInt(_0x2fcd28(0x94))/0x9)+parseInt(_0x2fcd28(0x67))/0xa*(-parseInt(_0x2fcd28(0x92))/0xb)+-parseInt(_0x2fcd28(0x97))/0xc*(-parseInt(_0x2fcd28(0xa1))/0xd);if(_0x1dd9ad===_0x237086)break;else _0x239f0f['push'](_0x239f0f['shift']());}catch(_0x1f14d3){_0x239f0f['push'](_0x239f0f['shift']());}}}(a112_0x389e,0x49967));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{validateExternalMenuUrl}from'../../commands/menu/external-link-create.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,hasFlag,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,parseParentId,recheckMutationSnapshot,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';function a112_0x11dd(_0x306c0f,_0x4480e7){_0x306c0f=_0x306c0f-0x67;const _0x389ed5=a112_0x389e();let _0x11ddf5=_0x389ed5[_0x306c0f];return _0x11ddf5;}function a112_0x389e(){const _0x1c013c=['hash','childrenCount','\x20has\x20','13194zIBwtY','expect-parent-id','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','external-link-update','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','label','requestedUrlObserved','plan','/smartapi/menu/update','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','code','\x20direct\x20child\x20menu(s).','244oxpXNV','\x20already\x20matches\x20the\x20requested\x20URL.','POST','string','3156mAoeJR','menu_update_recovery_required','11WEmDdl','\x22,\x20not\x20iframe\x20or\x20link.','1656ZWVakV','update','\x20parent\x20changed:\x20expected\x20','145332nXbmet','visible','trim','Response\x20was\x20lost\x20and\x20menu\x20','body','appCode','New\x20external\x20HTTPS\x20URL','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','iframe','parentId','572QOUHRS','menu_external_link_type_required','verify\x20external\x20menu\x20URL\x20update','expect-url','menu\x20list','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.',',\x20current\x20','path','685buNnfY','readbackFailed','menu','failed','cookie','byId','type','Menu\x20','810916NAVHBI','verification','Run\x20','menu_state_drift','flagMissing','sort','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','str','menu_external_link_not_leaf','5613280xqeUkn','url','menu_permission_denied','\x20URL\x20update\x20did\x20not\x20take\x20effect.','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','\x20is\x20type\x20\x22','\x20--format\x20compress','774907xIleda','after','3JTLoel','11496yalxlU','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','\x20could\x20not\x20be\x20verified\x20safely','link','update-external-link-url','menu_external_link_path_missing','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','update\x20external\x20menu\x20URL','\x20has\x20an\x20empty\x20platform\x20path.','Update\x20request\x20for\x20menu\x20'];a112_0x389e=function(){return _0x1c013c;};return a112_0x389e();}const BACKEND=[{'method':'POST','path':a112_0x877a16(0x87)}];export const menuExternalLinkUpdate={'service':a112_0x877a16(0xac),'command':a112_0x877a16(0x82),'description':a112_0x877a16(0x6b),'risk':'write','structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a112_0x877a16(0x68),'type':a112_0x877a16(0x8f),'required':!![],'description':a112_0x877a16(0x9d)},{'name':a112_0x877a16(0xa4),'type':a112_0x877a16(0x8f),'required':!![],'description':a112_0x877a16(0x9e)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x57a718){validateInput(_0x57a718);},async 'dryRun'(_0x1e0c67){const _0x3e16c5=a112_0x877a16;validateInput(_0x1e0c67);const _0x3d726f=await buildPlan(_0x1e0c67,!![]);return menuDryRunResult(_0x3d726f[_0x3e16c5(0x86)],{'method':_0x3e16c5(0x8e),'url':_0x3e16c5(0x87),'body':_0x3d726f['body'],'description':_0x3e16c5(0xa6)+_0x3d726f[_0x3e16c5(0x9b)]['id']+'.'});},async 'execute'(_0x466213){const _0x300a37=a112_0x877a16;validateInput(_0x466213);const _0x1a3f52=await buildPlan(_0x466213,![]),{plan:_0x31f5ff,body:_0x4bd5df,before:_0x56831a,noChanges:_0x214ad1}=_0x1a3f52,_0x5273c3=_0x4bd5df['id'];if(_0x214ad1)return updateSuccess(_0x31f5ff,_0x1a3f52['snapshot'],_0x56831a,!![],![]);await recheckMutationSnapshot(_0x466213,_0x31f5ff,_0x300a37(0x79),_0x5273c3);try{await updateMenuEntity(_0x466213[_0x300a37(0x9c)],_0x466213[_0x300a37(0xae)],{'id':_0x4bd5df['id'],'url':_0x4bd5df[_0x300a37(0x68)]});}catch(_0x9932e3){const _0x25c3d6=mapMenuApiError(_0x9932e3,'update\x20external\x20menu\x20URL',_0x5273c3);if(isMenuResponseLoss(_0x9932e3)&&_0x25c3d6[_0x300a37(0x8a)]!==_0x300a37(0x69))return recoverAfterResponseLoss(_0x466213,_0x1a3f52);throw menuFailure(_0x25c3d6,_0x31f5ff,{'stage':_0x300a37(0x95),'failed':{'id':_0x5273c3},'warnings':[_0x300a37(0x88)],'verification':{'status':'failed','targetId':_0x5273c3,'lookupCommand':buildLookupCommand(_0x466213[_0x300a37(0x9c)])}});}let _0xdc3678,_0x1d6db5;try{_0xdc3678=await fetchMenuSnapshot(_0x466213['appCode'],_0x466213[_0x300a37(0xae)]),_0x1d6db5=requireMenu(_0xdc3678,_0x5273c3),verifyUpdatedFact(_0x56831a,_0x1d6db5,_0x4bd5df[_0x300a37(0x68)]);}catch(_0xd8893c){const _0x30fc15=describeMenuErrorCause(_0xd8893c,_0x300a37(0xa3),_0x5273c3),_0x23f79e=asVerificationError(_0xd8893c,_0x300a37(0x7b)+_0x5273c3+_0x300a37(0x73));throw menuFailure(_0x23f79e,_0x31f5ff,{'stage':_0x300a37(0xb3),'succeeded':[{'id':_0x5273c3,'updateRequested':!![]}],'failed':{'id':_0x5273c3,'requestedStateConfirmed':![],..._0x30fc15},'warnings':['The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':_0x300a37(0xad),'targetId':_0x5273c3,'lookupCommand':buildLookupCommand(_0x466213[_0x300a37(0x9c)])}});}return updateSuccess(_0x31f5ff,_0xdc3678,_0x1d6db5,![],![]);}};function validateInput(_0x159997){const _0x10e67f=a112_0x877a16;validateExactId(_0x159997),requiredUrl(_0x159997,'url'),requiredExpectedUrl(_0x159997),parseParentId(_0x159997,_0x10e67f(0x80),{'required':!![]});}function requiredUrl(_0x5e1d87,_0x5e2475){const _0x3467da=a112_0x877a16;if(!hasFlag(_0x5e1d87,_0x5e2475)||!_0x5e1d87[_0x3467da(0xba)](_0x5e2475)[_0x3467da(0x99)]())throw CliErrors[_0x3467da(0xb6)](_0x5e2475);return validateExternalMenuUrl(_0x5e1d87[_0x3467da(0xba)](_0x5e2475));}function requiredExpectedUrl(_0x4be270){const _0xf50ea7=a112_0x877a16;if(!hasFlag(_0x4be270,_0xf50ea7(0xa4))||!_0x4be270[_0xf50ea7(0xba)](_0xf50ea7(0xa4))[_0xf50ea7(0x99)]())throw CliErrors[_0xf50ea7(0xb6)](_0xf50ea7(0xa4));return _0x4be270['str'](_0xf50ea7(0xa4))['trim']();}async function buildPlan(_0x1c3625,_0x32b0b5){const _0x29a19c=a112_0x877a16,_0x1b0a89=validateExactId(_0x1c3625),_0x2c229c=requiredUrl(_0x1c3625,'url'),_0x24b6d5=requiredExpectedUrl(_0x1c3625),_0x11d217=parseParentId(_0x1c3625,'expect-parent-id',{'required':!![]}),_0x487c01=await fetchMutationSnapshot(_0x1c3625,_0x29a19c(0x79),_0x1b0a89),_0x2da45d=requireMenu(_0x487c01,_0x1b0a89);assertExternalLinkLeaf(_0x2da45d);if(_0x2da45d[_0x29a19c(0xa0)]!==_0x11d217)throw menuError(_0x29a19c(0xb5),_0x29a19c(0xb1)+_0x1b0a89+_0x29a19c(0x96)+formatParent(_0x11d217)+_0x29a19c(0xa8)+formatParent(_0x2da45d[_0x29a19c(0xa0)])+'.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.');const _0x1d2ee4=_0x2da45d[_0x29a19c(0x68)]===_0x2c229c;if(!_0x1d2ee4&&_0x2da45d['url']!==_0x24b6d5)throw menuError(_0x29a19c(0xb5),_0x29a19c(0xb1)+_0x1b0a89+_0x29a19c(0x89),'Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.');const _0x284c54={'id':_0x1b0a89,'appCode':_0x1c3625[_0x29a19c(0x9c)],'url':_0x2c229c},_0x40be34={..._0x2da45d,'url':_0x2c229c};return{'body':_0x284c54,'before':_0x2da45d,'noChanges':_0x1d2ee4,'snapshot':_0x487c01,'plan':mutationResult({'operation':'external-link-update','selector':{'id':_0x1b0a89},'before':_0x2da45d,'after':_0x40be34,'dryRun':_0x32b0b5,'backend':[...BACKEND],'plannedActions':_0x1d2ee4?[]:[{'stage':_0x29a19c(0x76),'method':_0x29a19c(0x8e),'path':_0x29a19c(0x87),'body':_0x284c54}],'snapshotHash':_0x487c01[_0x29a19c(0x7c)],'warnings':_0x1d2ee4?[_0x29a19c(0xb9)]:[]})};}function assertExternalLinkLeaf(_0x28c5df){const _0x5cd8fd=a112_0x877a16;if(_0x28c5df[_0x5cd8fd(0xb0)]!==_0x5cd8fd(0x9f)&&_0x28c5df['type']!==_0x5cd8fd(0x75))throw menuError(_0x5cd8fd(0xa2),_0x5cd8fd(0xb1)+_0x28c5df['id']+_0x5cd8fd(0x6c)+(_0x28c5df['type']||'unknown')+_0x5cd8fd(0x93),_0x5cd8fd(0x81));if(_0x28c5df['childrenCount']!==0x0)throw menuError(_0x5cd8fd(0xbb),_0x5cd8fd(0xb1)+_0x28c5df['id']+_0x5cd8fd(0x7e)+_0x28c5df[_0x5cd8fd(0x7d)]+_0x5cd8fd(0x8b),'External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.');if(!_0x28c5df['path']['trim']())throw menuError(_0x5cd8fd(0x77),_0x5cd8fd(0xb1)+_0x28c5df['id']+_0x5cd8fd(0x7a),_0x5cd8fd(0x72));}function verifyUpdatedFact(_0x903266,_0x5a13bb,_0x1674ce){const _0x3bb945=a112_0x877a16;assertExternalLinkLeaf(_0x5a13bb);const _0x4e35de=[['id',_0x5a13bb['id'],_0x903266['id']],['label',_0x5a13bb[_0x3bb945(0x84)],_0x903266[_0x3bb945(0x84)]],[_0x3bb945(0xb0),_0x5a13bb[_0x3bb945(0xb0)],_0x903266[_0x3bb945(0xb0)]],[_0x3bb945(0xa9),_0x5a13bb['path'],_0x903266[_0x3bb945(0xa9)]],[_0x3bb945(0xa0),_0x5a13bb[_0x3bb945(0xa0)],_0x903266[_0x3bb945(0xa0)]],[_0x3bb945(0xb7),_0x5a13bb['sort'],_0x903266[_0x3bb945(0xb7)]],[_0x3bb945(0x98),_0x5a13bb[_0x3bb945(0x98)],_0x903266[_0x3bb945(0x98)]]];for(const [_0x198d3a,_0xa5745b,_0xb88e65]of _0x4e35de){assertVerified(_0xa5745b===_0xb88e65,_0x3bb945(0xb1)+_0x903266['id']+'\x20'+_0x198d3a+'\x20changed\x20during\x20the\x20URL-only\x20update.');}assertVerified(_0x5a13bb[_0x3bb945(0x68)]===_0x1674ce,_0x3bb945(0xb1)+_0x903266['id']+_0x3bb945(0x6a));}function updateSuccess(_0x209139,_0x532a5,_0x402bc1,_0x3da688,_0x4fa27b){const _0x4c7ee5=a112_0x877a16,_0x119f1e=_0x402bc1['id'],_0x5ab119=mutationResult({..._0x209139,'after':_0x402bc1,'dryRun':![],'succeeded':[{'id':_0x119f1e,'updated':!_0x3da688,'skipped':_0x3da688,'recovered':_0x4fa27b}],'verification':{'checkedBy':_0x4c7ee5(0xa5),'snapshotHash':_0x532a5['hash'],'targetId':_0x119f1e,'matchesRequestedState':!![],'recovered':_0x4fa27b}});return{'ok':!![],'message':_0x4fa27b?_0x4c7ee5(0xb8)+_0x119f1e+'.':_0x3da688?'Menu\x20'+_0x119f1e+_0x4c7ee5(0x8d):'Updated\x20external\x20URL\x20for\x20menu\x20'+_0x119f1e+'.','data':{..._0x5ab119,'recovered':_0x4fa27b}};}async function recoverAfterResponseLoss(_0x4fa5e2,_0x10a8ef){const _0x30e2e8=a112_0x877a16,{plan:_0x383e16,before:_0x1f3245,body:_0x3e3a15}=_0x10a8ef;let _0x361396;try{_0x361396=await fetchMenuSnapshot(_0x4fa5e2[_0x30e2e8(0x9c)],_0x4fa5e2[_0x30e2e8(0xae)]);}catch{throw recoveryRequired(_0x383e16,_0x4fa5e2[_0x30e2e8(0x9c)],{'id':_0x3e3a15['id'],'readbackFailed':!![]});}const _0x4ee2c1=_0x361396[_0x30e2e8(0xaf)]['get'](_0x3e3a15['id']);if(!_0x4ee2c1||_0x4ee2c1[_0x30e2e8(0x68)]!==_0x3e3a15[_0x30e2e8(0x68)])throw recoveryRequired(_0x383e16,_0x4fa5e2['appCode'],{'id':_0x3e3a15['id'],'requestedUrlObserved':![],'after':_0x4ee2c1??null});try{verifyUpdatedFact(_0x1f3245,_0x4ee2c1,_0x3e3a15[_0x30e2e8(0x68)]);}catch(_0x2bd531){const _0x33fc8b=asVerificationError(_0x2bd531,_0x30e2e8(0x9a)+_0x3e3a15['id']+_0x30e2e8(0x74));throw menuFailure(_0x33fc8b,_0x383e16,{'stage':'update-recovery','succeeded':[{'id':_0x3e3a15['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x3e3a15['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x4ee2c1,'warnings':[_0x30e2e8(0x78)],'verification':{'status':_0x30e2e8(0xad),'targetId':_0x3e3a15['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x4fa5e2[_0x30e2e8(0x9c)])}});}return updateSuccess(_0x383e16,_0x361396,_0x4ee2c1,![],!![]);}function recoveryRequired(_0xa09ae6,_0x3a2c2c,_0x505c5a){const _0x1175f7=a112_0x877a16,_0x5ba61f=menuError(_0x1175f7(0x91),_0x1175f7(0x83),_0x1175f7(0xb4)+buildLookupCommand(_0x3a2c2c)+_0x1175f7(0xa7));return menuFailure(_0x5ba61f,_0xa09ae6,{'stage':'update-recovery','failed':{'id':_0x505c5a['id'],..._0x505c5a['requestedUrlObserved']===undefined?{}:{'requestedUrlObserved':_0x505c5a[_0x1175f7(0x85)]},..._0x505c5a[_0x1175f7(0xab)]?{'readbackFailed':!![]}:{}},'after':_0x505c5a[_0x1175f7(0x6f)],'warnings':['The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.'],'verification':{'status':_0x1175f7(0xad),'targetId':_0x505c5a['id'],..._0x505c5a[_0x1175f7(0x85)]===undefined?{}:{'requestedUrlObserved':_0x505c5a['requestedUrlObserved']},..._0x505c5a[_0x1175f7(0xab)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x3a2c2c)}});}function buildLookupCommand(_0x614c56){const _0x4882ef=a112_0x877a16,_0xe14485='\x27'+_0x614c56['replace'](/'/g,'\x27\x5c\x27\x27')+'\x27';return'rabetbase\x20menu\x20list\x20--appcode\x20'+_0xe14485+_0x4882ef(0x6d);}
|