@lovrabet/rabetbase-cli 2.3.16-beta.5 → 2.3.16-beta.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/api-doc.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/auth/auth-server-ui.js +1 -1
- package/lib/auth/auth-server.js +1 -1
- package/lib/auth/constant.js +1 -1
- package/lib/auth/get-cookie.js +1 -1
- package/lib/auth/get-session-user.js +1 -1
- package/lib/auth/is-session-valid.js +1 -1
- package/lib/auth/login-success-html.js +1 -1
- package/lib/auth/logout.js +1 -1
- package/lib/cli-flags.js +1 -1
- package/lib/cli.js +1 -1
- package/lib/commands/api/generate.js +1 -1
- package/lib/commands/api/index.js +1 -1
- package/lib/commands/api/list.js +1 -1
- package/lib/commands/api/pull.js +1 -1
- package/lib/commands/api/shared.js +1 -1
- package/lib/commands/app/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/members-list.js +1 -1
- package/lib/commands/app/remote-directory.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/delete.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/app-config/list.js +1 -1
- package/lib/commands/app-config/set.js +1 -1
- package/lib/commands/app-config/shared.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/bff/create.js +1 -1
- package/lib/commands/bff/delete.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/bff/list.js +1 -1
- package/lib/commands/bff/pull.js +1 -1
- package/lib/commands/bff/push.js +1 -1
- package/lib/commands/bff/status.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/cli-update.js +1 -1
- package/lib/commands/codegen/index.js +1 -1
- package/lib/commands/codegen/sdk.js +1 -1
- package/lib/commands/codegen/sql.js +1 -1
- package/lib/commands/common/app-registry.js +1 -1
- package/lib/commands/common/app-selector.js +1 -1
- package/lib/commands/common/async-task.js +1 -1
- package/lib/commands/common/dry-run.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/common/validate.js +1 -1
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/list.js +1 -1
- package/lib/commands/config/set.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/data/filter.js +1 -1
- package/lib/commands/data/getOne.js +1 -1
- package/lib/commands/data/index.js +1 -1
- package/lib/commands/data/shared.js +1 -1
- package/lib/commands/dataset/business-group-update.js +1 -1
- package/lib/commands/dataset/capability.js +1 -1
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/extend-update.js +1 -1
- package/lib/commands/dataset/field-update.js +1 -1
- package/lib/commands/dataset/generate.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/dataset/relation-audit.js +1 -1
- package/lib/commands/dataset/relation-create.js +1 -1
- package/lib/commands/dataset/relation-delete.js +1 -1
- package/lib/commands/dataset/relation-shared.js +1 -1
- package/lib/commands/dataset/relation-update.js +1 -1
- package/lib/commands/dataset/relations.js +1 -1
- package/lib/commands/dataset/rename.js +1 -1
- package/lib/commands/dataset/restore.js +1 -1
- package/lib/commands/db/analysis-batching.js +1 -1
- package/lib/commands/db/analyze-batch-plan.js +1 -1
- package/lib/commands/db/analyze-cancel.js +1 -1
- package/lib/commands/db/analyze-start.js +1 -1
- package/lib/commands/db/analyze-status.js +1 -1
- package/lib/commands/db/create.js +1 -1
- package/lib/commands/db/delete.js +1 -1
- package/lib/commands/db/detail.js +1 -1
- package/lib/commands/db/diff.js +1 -1
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.js +1 -1
- package/lib/commands/db/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/init/index.js +1 -1
- package/lib/commands/issue/index.js +1 -1
- package/lib/commands/issue/nudge.js +1 -1
- package/lib/commands/issue/report.js +1 -1
- package/lib/commands/issue/shared.js +1 -1
- package/lib/commands/kb/create.js +1 -1
- package/lib/commands/kb/delete.js +1 -1
- package/lib/commands/kb/detail.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/kb/list.js +1 -1
- package/lib/commands/kb/shared.js +1 -1
- package/lib/commands/kb/update.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/menu/asset-update.js +1 -1
- package/lib/commands/menu/delete.js +1 -1
- package/lib/commands/menu/external-link-create.js +1 -1
- package/lib/commands/menu/external-link-update.js +1 -1
- package/lib/commands/menu/group-create.js +1 -1
- package/lib/commands/menu/group-update.js +1 -1
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/list.js +1 -1
- package/lib/commands/menu/move.js +1 -1
- package/lib/commands/menu/regroup-start.js +1 -1
- package/lib/commands/menu/rename.js +1 -1
- package/lib/commands/menu/shared/compare-table.js +1 -1
- package/lib/commands/menu/shared/delete-plan.js +1 -1
- package/lib/commands/menu/shared/facts.js +1 -1
- package/lib/commands/menu/shared/index.js +1 -1
- package/lib/commands/menu/shared/inquirer.js +1 -1
- package/lib/commands/menu/shared/local-pages.js +1 -1
- package/lib/commands/menu/shared/logic.js +1 -1
- package/lib/commands/menu/shared/mutations.js +1 -1
- package/lib/commands/menu/shared/service.js +1 -1
- package/lib/commands/menu/shared/sync-core.js +1 -1
- package/lib/commands/menu/shared/update-core.js +1 -1
- package/lib/commands/menu/shared/valid-url.js +1 -1
- package/lib/commands/menu/sync.js +1 -1
- package/lib/commands/notification/config-list.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/relation-audit.js +1 -1
- package/lib/commands/page/restore.js +1 -1
- package/lib/commands/page/shared.js +1 -1
- package/lib/commands/page/standard-page-status.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/permit/index.js +1 -1
- package/lib/commands/permit/page-get.js +1 -1
- package/lib/commands/permit/page-set.js +1 -1
- package/lib/commands/permit/role-apis-set.js +1 -1
- package/lib/commands/permit/role-menus-set.js +1 -1
- package/lib/commands/permit/role-menus.js +1 -1
- package/lib/commands/permit/shared.js +1 -1
- package/lib/commands/project/create/enhanced-guided-create.js +1 -1
- package/lib/commands/project/create/format-elapsed.js +1 -1
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/non-interactive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/create.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/role/user-resolve.js +1 -1
- package/lib/commands/run/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/sql/create.js +1 -1
- package/lib/commands/sql/delete.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/sql/list.js +1 -1
- package/lib/commands/sql/pull.js +1 -1
- package/lib/commands/sql/push.js +1 -1
- package/lib/commands/sql/shared.js +1 -1
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/commands/task/index.js +1 -1
- package/lib/commands/task/status.js +1 -1
- package/lib/commands/tenant/index.js +1 -1
- package/lib/commands/tenant/members-list.js +1 -1
- package/lib/commands/tenant/shared.js +1 -1
- package/lib/commands/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.d.ts +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/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/main.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/skill-presence.js +1 -1
- package/lib/telemetry/cli-command-trace.js +1 -1
- package/lib/telemetry/cli-help-trace.js +1 -1
- package/lib/telemetry/ensure-cli-otel-config.js +1 -1
- package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
- package/lib/telemetry/send-cli-trace-log.js +1 -1
- package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
- package/lib/utils/ai_config.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cdn-config.js +1 -1
- package/lib/utils/check-sdk-version.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/config.js +1 -1
- package/lib/utils/copy-directory.js +1 -1
- package/lib/utils/entity-with-id.js +1 -1
- package/lib/utils/file-utils.js +1 -1
- package/lib/utils/guides-cdn.js +1 -1
- package/lib/utils/http-client.js +1 -1
- package/lib/utils/is-non-interactive.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/rules-cdn.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a105_0xc23baa=a105_0x4c00;(function(_0x539e20,_0x462bcd){const _0x2a7f4f=a105_0x4c00,_0x5afaa5=_0x539e20();while(!![]){try{const _0x5875e9=parseInt(_0x2a7f4f(0x11d))/0x1*(-parseInt(_0x2a7f4f(0x118))/0x2)+-parseInt(_0x2a7f4f(0x112))/0x3+parseInt(_0x2a7f4f(0x105))/0x4+parseInt(_0x2a7f4f(0x12e))/0x5+parseInt(_0x2a7f4f(0x124))/0x6*(-parseInt(_0x2a7f4f(0x12a))/0x7)+-parseInt(_0x2a7f4f(0x109))/0x8+parseInt(_0x2a7f4f(0x135))/0x9*(parseInt(_0x2a7f4f(0x126))/0xa);if(_0x5875e9===_0x462bcd)break;else _0x5afaa5['push'](_0x5afaa5['shift']());}catch(_0x5817ee){_0x5afaa5['push'](_0x5afaa5['shift']());}}}(a105_0x34ec,0x7af13));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,requireKbExplicitYes,verifyKbMutationReadback}from'../../commands/kb/shared.js';const UPDATE_PATH=a105_0xc23baa(0x114),NON_ATOMIC_WARNING=a105_0xc23baa(0x12c);function a105_0x4c00(_0x3992d9,_0x58c616){_0x3992d9=_0x3992d9-0x103;const _0x34ec1c=a105_0x34ec();let _0x4c0054=_0x34ec1c[_0x3992d9];return _0x4c0054;}function readUpdatePatch(_0x59ab0a){const _0x468087=a105_0xc23baa,_0x52a79f=readKbId(_0x59ab0a),_0x183a8e=_0x59ab0a['flag'](_0x468087(0x10e)),_0x3b542f=_0x59ab0a[_0x468087(0x111)](_0x468087(0x12f)),_0x139f77=_0x59ab0a[_0x468087(0x111)](_0x468087(0x113)),_0x4bfc29=_0x183a8e===undefined?undefined:String(_0x183a8e)[_0x468087(0x137)]();if(_0x183a8e!==undefined&&!_0x4bfc29)throw kbError(_0x468087(0x104),'--title\x20cannot\x20be\x20empty.');const _0x197601=_0x3b542f===undefined?undefined:String(_0x3b542f)['trim']();if(_0x3b542f!==undefined&&!_0x197601)throw kbError(_0x468087(0x120),'--file\x20cannot\x20be\x20empty.');if(_0x4bfc29===undefined&&_0x197601===undefined)throw kbError(_0x468087(0x11e),_0x468087(0x131),'Pass\x20at\x20least\x20one\x20of\x20--title\x20or\x20--file.');let _0x3af417;if(_0x139f77!==undefined){_0x3af417=Number(_0x139f77);if(!Number[_0x468087(0x115)](_0x3af417)||_0x3af417<0x0)throw kbError(_0x468087(0x11b),'--expected-version\x20must\x20be\x20a\x20non-negative\x20safe\x20integer.');}return{'id':_0x52a79f,'title':_0x4bfc29,'file':_0x197601,'expectedVersion':_0x3af417};}function a105_0x34ec(){const _0x54b0dd=['isSafeInteger','content','Inspect\x20it\x20with\x20`rabetbase\x20kb\x20detail\x20--id\x20','42AFpsYx','expectedVersion','\x20--format\x20compress`;\x20do\x20not\x20resubmit\x20automatically.','kb_expected_version_invalid','replacement','12434MAxfIU','kb_update_empty','kb_update_outcome_unknown','kb_file_required','POST','Non-atomic\x20preflight\x20assertion\x20for\x20the\x20current\x20version','\x20does\x20not\x20prove\x20the\x20requested\x20update\x20state.','54bYxlFF','\x20--format\x20compress','2250930aTDmEj','number','update','company','632842BgeOkH','snapshotHash','--expected-version\x20is\x20a\x20non-atomic\x20read-before-write\x20assertion;\x20the\x20server\x20update\x20contract\x20has\x20no\x20version\x20predicate.','New\x20knowledge-base\x20title','2638545zdZIYf','file','patch','Nothing\x20to\x20update.','Updated\x20company\x20knowledge\x20base\x20','string','Update\x20response\x20was\x20unavailable;\x20verified\x20applicable\x20postconditions\x20by\x20exact\x20ID\x20without\x20resubmitting.','63JYNkMh','verified','trim','Update\x20a\x20company\x20knowledge\x20base\x20with\x20preflight\x20drift\x20protection','beforeRecord','kb_title_invalid','3141096MfHnMd','push','contentHash','rabetbase\x20kb\x20detail\x20--id\x20','5957416OoQFVD','high-risk-write','appCode','before','Company\x20knowledge-base\x20id','title','version','Replacement\x20UTF-8\x20text\x20or\x20Markdown\x20content\x20file','flag','1696854SWmWaA','expected-version','/admin/knowledge-base/update'];a105_0x34ec=function(){return _0x54b0dd;};return a105_0x34ec();}async function prepareUpdate(_0x4bceca){const _0x1acb2d=a105_0xc23baa,_0x11350d=readUpdatePatch(_0x4bceca),_0x52d95c=await requireKb(_0x4bceca,_0x11350d['id']);assertExpectedKbVersion(_0x52d95c,_0x11350d['expectedVersion']);const _0x4a33d4=_0x11350d[_0x1acb2d(0x12f)]?await readKbFile(_0x11350d['file']):undefined,_0x1e68af=projectKb(_0x52d95c),_0x16212f=projectKb({..._0x52d95c,..._0x11350d['title']!==undefined?{'title':_0x11350d[_0x1acb2d(0x10e)]}:{},..._0x4a33d4?{'content':_0x4a33d4[_0x1acb2d(0x116)]}:{}});return{'patch':_0x11350d,'beforeRecord':_0x52d95c,'before':_0x1e68af,'planned':_0x16212f,'replacement':_0x4a33d4};}export const kbUpdate={'service':'kb','command':'update','description':a105_0xc23baa(0x138),'risk':a105_0xc23baa(0x10a),'requiresAppCode':!![],'structuredErrors':!![],'flags':[{'name':'id','type':a105_0xc23baa(0x127),'required':!![],'description':a105_0xc23baa(0x10d)},{'name':a105_0xc23baa(0x10e),'type':a105_0xc23baa(0x133),'required':![],'description':a105_0xc23baa(0x12d)},{'name':a105_0xc23baa(0x12f),'type':a105_0xc23baa(0x133),'required':![],'description':a105_0xc23baa(0x110)},{'name':a105_0xc23baa(0x113),'type':'number','required':![],'description':a105_0xc23baa(0x122)}],async 'validate'(_0x27d68c){readUpdatePatch(_0x27d68c),requireKbExplicitYes(_0x27d68c);},async 'dryRun'(_0x22daf6){const _0x243d40=a105_0xc23baa,_0x1adec=await prepareUpdate(_0x22daf6),_0x2ab2cf=_0x1adec[_0x243d40(0x130)][_0x243d40(0x119)]!==undefined?[NON_ATOMIC_WARNING]:[];return asDryRunResult({'operation':_0x243d40(0x128),'selector':{'id':_0x1adec['before']['id'],'scope':_0x243d40(0x129),'appCode':_0x1adec[_0x243d40(0x10c)]['appCode']},'before':_0x1adec[_0x243d40(0x10c)],'after':_0x1adec['planned'],'dryRun':!![],'backend':{'method':'POST','path':UPDATE_PATH},'warnings':_0x2ab2cf,'verification':{'expectedVersion':_0x1adec['patch']['expectedVersion']??null,'atomicCompareAndSet':![],'plannedSnapshotHash':_0x1adec['before'][_0x243d40(0x12b)],'lookupCommand':_0x243d40(0x108)+_0x1adec[_0x243d40(0x10c)]['id']+_0x243d40(0x125)}},{'method':_0x243d40(0x121),'url':UPDATE_PATH});},async 'execute'(_0x585c95){const _0x561a5b=a105_0xc23baa;requireKbExplicitYes(_0x585c95);const _0xd5a666=await prepareUpdate(_0x585c95),_0x22c19a={'id':_0xd5a666['patch']['id'],..._0xd5a666[_0x561a5b(0x130)][_0x561a5b(0x10e)]!==undefined?{'title':_0xd5a666['patch'][_0x561a5b(0x10e)]}:{},..._0xd5a666[_0x561a5b(0x11c)]?{'content':_0xd5a666[_0x561a5b(0x11c)][_0x561a5b(0x116)]}:{}};let _0x2913e6=![];try{const _0x3aad1d=await updateEnterpriseKnowledgeBase(_0x585c95['cookie'],_0x22c19a);assertCompanyKnowledgeBase(_0x3aad1d,_0x585c95[_0x561a5b(0x10b)],_0xd5a666[_0x561a5b(0x130)]['id']);}catch(_0x482143){if(!isPlatformTransportFailure(_0x482143))throw _0x482143;_0x2913e6=!![];}const _0x1f834b=await verifyKbMutationReadback('update',_0x2913e6,()=>requireKb(_0x585c95,_0xd5a666[_0x561a5b(0x130)]['id'])),_0x5e0786=projectKb(_0x1f834b),_0x1a9b01=_0xd5a666['patch'][_0x561a5b(0x10e)]===undefined||_0x1f834b[_0x561a5b(0x10e)]===_0xd5a666[_0x561a5b(0x130)][_0x561a5b(0x10e)],_0x33a8a2=!_0xd5a666['replacement']||inspectKbContent(_0x1f834b['content'])[_0x561a5b(0x107)]===_0xd5a666[_0x561a5b(0x11c)][_0x561a5b(0x107)],_0x377afd=!_0xd5a666[_0x561a5b(0x11c)]||_0x1f834b[_0x561a5b(0x10f)]>_0xd5a666[_0x561a5b(0x103)][_0x561a5b(0x10f)],_0x1cfead=!_0x2913e6||_0xd5a666['replacement']!==undefined||_0xd5a666[_0x561a5b(0x130)][_0x561a5b(0x10e)]===undefined||_0xd5a666[_0x561a5b(0x103)]['title']!==_0xd5a666[_0x561a5b(0x130)][_0x561a5b(0x10e)];if(!_0x1a9b01||!_0x33a8a2||!_0x377afd||!_0x1cfead)throw kbError(_0x2913e6?_0x561a5b(0x11f):'kb_verification_failed','Company\x20knowledge\x20base\x20'+_0xd5a666[_0x561a5b(0x130)]['id']+_0x561a5b(0x123),_0x561a5b(0x117)+_0xd5a666[_0x561a5b(0x130)]['id']+_0x561a5b(0x11a));const _0x392213=[];return _0xd5a666['patch'][_0x561a5b(0x119)]!==undefined&&_0x392213[_0x561a5b(0x106)](NON_ATOMIC_WARNING),_0x2913e6&&_0x392213[_0x561a5b(0x106)](_0x561a5b(0x134)),{'ok':!![],'data':{'operation':_0x561a5b(0x128),'selector':{'id':_0x5e0786['id'],'scope':'company','appCode':_0x5e0786[_0x561a5b(0x10b)]},'before':_0xd5a666['before'],'after':_0x5e0786,'dryRun':![],'backend':{'method':'POST','path':UPDATE_PATH},'warnings':_0x392213,'verification':{'status':_0x561a5b(0x136),'recoveredAfterUnknownResponse':_0x2913e6,'expectedVersion':_0xd5a666[_0x561a5b(0x130)][_0x561a5b(0x119)]??null,'atomicCompareAndSet':![],'lookupCommand':_0x561a5b(0x108)+_0x5e0786['id']+_0x561a5b(0x125)}},'message':_0x561a5b(0x132)+_0x5e0786['id']};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a106_0x4f99(_0x402faa,_0x5720b5){_0x402faa=_0x402faa-0x157;const _0x42ba90=a106_0x42ba();let _0x4f9911=_0x42ba90[_0x402faa];return _0x4f9911;}const a106_0x5882d5=a106_0x4f99;(function(_0x39afa7,_0x52dc35){const _0x56d4b7=a106_0x4f99,_0x5e04d4=_0x39afa7();while(!![]){try{const _0x110ba4=-parseInt(_0x56d4b7(0x176))/0x1*(parseInt(_0x56d4b7(0x163))/0x2)+-parseInt(_0x56d4b7(0x157))/0x3+parseInt(_0x56d4b7(0x164))/0x4+-parseInt(_0x56d4b7(0x169))/0x5+-parseInt(_0x56d4b7(0x161))/0x6*(parseInt(_0x56d4b7(0x175))/0x7)+parseInt(_0x56d4b7(0x16c))/0x8*(-parseInt(_0x56d4b7(0x16a))/0x9)+parseInt(_0x56d4b7(0x171))/0xa*(parseInt(_0x56d4b7(0x165))/0xb);if(_0x110ba4===_0x52dc35)break;else _0x5e04d4['push'](_0x5e04d4['shift']());}catch(_0x3633c3){_0x5e04d4['push'](_0x5e04d4['shift']());}}}(a106_0x42ba,0x86f51));import{logger}from'../../utils/logger.js';function printLogs(_0x403efc){const _0x9d974e=a106_0x4f99;if(_0x403efc[_0x9d974e(0x160)]===0x0){console[_0x9d974e(0x166)](_0x9d974e(0x177));return;}console[_0x9d974e(0x166)]('*\x20Lovrabet\x20CLI\x20logs:\x0a'),_0x403efc['forEach']((_0x5667fc,_0x140b96)=>{const _0x291005=_0x9d974e,_0x1fd2ae=new Date(_0x5667fc[_0x291005(0x159)])[_0x291005(0x178)](_0x291005(0x179)),_0x29286f=_0x5667fc[_0x291005(0x16e)]===_0x291005(0x16d)?'√':_0x5667fc[_0x291005(0x16e)]==='error'?'×':_0x5667fc[_0x291005(0x16e)]===_0x291005(0x15a)?'!':'i';console[_0x291005(0x166)](_0x140b96+0x1+'.\x20'+_0x29286f+'\x20['+_0x5667fc[_0x291005(0x170)]+']\x20'+_0x5667fc[_0x291005(0x168)]),console['log'](_0x291005(0x17a)+_0x1fd2ae),_0x5667fc[_0x291005(0x15b)]&&console[_0x291005(0x166)](_0x291005(0x173)+_0x5667fc[_0x291005(0x15b)]+'ms'),_0x5667fc[_0x291005(0x172)]&&Object[_0x291005(0x16b)](_0x5667fc['details'])[_0x291005(0x160)]>0x0&&console[_0x291005(0x166)](_0x291005(0x162)+JSON[_0x291005(0x158)](_0x5667fc[_0x291005(0x172)],null,0x2)),console[_0x291005(0x166)]('');});}function a106_0x42ba(){const _0x2948f9=['message','3723345UKFtpk','3225249LiRKFk','keys','8poCSoN','success','level','read','command','2105930RZzTfU','details','\x20\x20\x20Duration:\x20','show','2009DoJvdL','6889tCNiwd','*\x20No\x20logs\x20found','toLocaleString','en-US','\x20\x20\x20Time:\x20','readLogs','2989125gkplrY','stringify','timestamp','warn','duration','write','*\x20Logs\x20cleared','Clear\x20command\x20history\x20logs','clear','length','13134ZwgRGY','\x20\x20\x20Details:\x20','138qgzGZU','3229888nsqpTr','154nmmzzd','log','logs'];a106_0x42ba=function(){return _0x2948f9;};return a106_0x42ba();}export const logsDefinitions=[{'service':a106_0x5882d5(0x167),'command':a106_0x5882d5(0x174),'description':'View\x20command\x20history\x20logs','risk':a106_0x5882d5(0x16f),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x51c488){const _0x1d42f4=a106_0x5882d5;return printLogs(logger[_0x1d42f4(0x17b)]()),{'ok':!![]};}},{'service':'logs','command':a106_0x5882d5(0x15f),'description':a106_0x5882d5(0x15e),'risk':a106_0x5882d5(0x15c),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x2daee8){const _0xd7c222=a106_0x5882d5;return logger['clearLogs'](),console[_0xd7c222(0x166)](_0xd7c222(0x15d)),{'ok':!![]};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a107_0x3555(_0x113720,_0x3c82a){_0x113720=_0x113720-0x83;const _0xbcd4dd=a107_0xbcd4();let _0x35550b=_0xbcd4dd[_0x113720];return _0x35550b;}const a107_0x5b3fec=a107_0x3555;(function(_0x55da59,_0x9a1894){const _0x15f56e=a107_0x3555,_0x176397=_0x55da59();while(!![]){try{const _0x28f8bd=parseInt(_0x15f56e(0xd7))/0x1*(parseInt(_0x15f56e(0x84))/0x2)+parseInt(_0x15f56e(0xab))/0x3*(parseInt(_0x15f56e(0x8e))/0x4)+parseInt(_0x15f56e(0x95))/0x5+parseInt(_0x15f56e(0xda))/0x6+parseInt(_0x15f56e(0xc2))/0x7+-parseInt(_0x15f56e(0x94))/0x8+-parseInt(_0x15f56e(0x99))/0x9*(parseInt(_0x15f56e(0xa6))/0xa);if(_0x28f8bd===_0x9a1894)break;else _0x176397['push'](_0x176397['shift']());}catch(_0x165483){_0x176397['push'](_0x176397['shift']());}}}(a107_0xbcd4,0x95f39));import a107_0x1a5300 from'chalk';import{filterMenusWithResources,fetchOnlineMenuList}from'../../commands/menu/shared/logic.js';import{renderUpdateSummary}from'../../commands/menu/shared/compare-table.js';import{askJsUrl,askCssUrl,askConfirm,startSpinner,stopSpinner,isInteractive,requireInteractive}from'../../commands/menu/shared/inquirer.js';import{CliErrors}from'../../errors.js';import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';function a107_0xbcd4(){const _0x5b7e04=['mode','isArray','params','\x20menu(s)\x20failed','some','JSON:\x20{\x22jsUrl\x22:\x22https://...js\x22,\x22cssUrl\x22:\x22https://...css\x22}','label','\x20menu(s)\x20with\x20JS:\x20','script','No\x20menus\x20with\x20existing\x20resources\x20would\x20be\x20updated.','Explicitly\x20change\x20the\x20microfrontend\x20resource\x20loading\x20mode','/smartapi/menu/update','replace','patch\x20replaces\x20a\x20supplied\x20type\x20only\x20when\x20the\x20existing\x20target\x20is\x20unambiguous','selectedAppName','\x20updated,\x20','force','fetch','message','1332793eDyjNL','\x20menu(s)\x20with\x20existing\x20resources','\x20failed.','Exact\x20comma-separated\x20menu\x20paths\x20to\x20update','validation','map','Would\x20update\x20','\x20menu(s)','gray','str','length','POST','Run\x20inside\x20a\x20directory\x20with\x20.rabetbase.json,\x20or\x20pass\x20--appcode\x20<code>.','\x20menu(s)...','load-mode','boolean','Updating\x20','updated','cssUrl','\x20\x20Update\x20','skipped','147YFRpbc','jsUrl','appcode','5489268AnOtXF','stringify','trim','yes','patch','menu','Updated\x20','9896VSaJgE','menu-ids','import','\x20updated.','parse','--menu-ids\x20must\x20contain\x20positive\x20safe\x20integers.','flag','\x20\x20!\x20No\x20menus\x20with\x20existing\x20resources\x20found','filter','Invalid\x20--mode.\x20Allowed\x20values:\x20replace,\x20patch','28ssKmGF','\x20menu\x20resource\x20set(s).','Fetching\x20online\x20menu\x20list...','string','isSafeInteger','high-risk-write','6083720sTylfT','4875325ZENtsA','Pre-fill\x20JS/CSS\x20URLs\x20to\x20update.\x20','Failed\x20to\x20fetch\x20online\x20menu\x20list','cookie','45ZYMJGg','appCode','\x20menu(s)\x20updated','paths','Online\x20menu\x20list\x20fetched','--all\x20cannot\x20be\x20combined\x20with\x20--menu-ids\x20or\x20--paths.','✓\x20Menu\x20asset\x20update\x20completed:\x20','cyan','Menu\x20asset\x20update\x20completed:\x20','Menu\x20asset\x20update\x20failed','Exact\x20comma-separated\x20menu\x20IDs\x20to\x20update','Update\x20CDN\x20asset\x20URLs\x20for\x20selected\x20online\x20menus\x20with\x20existing\x20resources','yellow','3841430xvIpnZ','\x20\x20Found\x20','bool','diffs','Allow\x20replace\x20mode\x20to\x20remove\x20existing\x20JS\x20resources','209007cUFjMO','Menu\x20asset\x20update\x20skipped','failed','!\x20No\x20menus\x20with\x20existing\x20resources\x20found'];a107_0xbcd4=function(){return _0x5b7e04;};return a107_0xbcd4();}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':a107_0x5b3fec(0xdf),'command':'asset-update','description':a107_0x5b3fec(0xa4),'risk':a107_0x5b3fec(0x93),'flags':[{'name':'params','type':a107_0x5b3fec(0x91),'description':a107_0x5b3fec(0x96)+a107_0x5b3fec(0xb4)},{'name':a107_0x5b3fec(0xaf),'type':'string','description':'Resource\x20update\x20mode:\x20replace\x20rewrites\x20resources\x20from\x20supplied\x20URLs;\x20'+a107_0x5b3fec(0xbc),'enum':['replace',a107_0x5b3fec(0xde)],'default':a107_0x5b3fec(0xde)},{'name':a107_0x5b3fec(0xbf),'type':a107_0x5b3fec(0xd1),'description':a107_0x5b3fec(0xaa)},{'name':a107_0x5b3fec(0x85),'type':a107_0x5b3fec(0x91),'description':a107_0x5b3fec(0xa3)},{'name':a107_0x5b3fec(0x9c),'type':a107_0x5b3fec(0x91),'description':a107_0x5b3fec(0xc5)},{'name':'all','type':a107_0x5b3fec(0xd1),'description':'Explicitly\x20update\x20every\x20menu\x20that\x20has\x20resources'},{'name':'load-mode','type':a107_0x5b3fec(0x91),'enum':['import',a107_0x5b3fec(0xb7),a107_0x5b3fec(0xc0)],'description':a107_0x5b3fec(0xb9)}],async 'dryRun'(_0x4db3ac){const _0x583716=a107_0x5b3fec;ensureRunnableContext(_0x4db3ac['rawFlags'],_0x4db3ac[_0x583716(0xbd)]);const _0x1bbbb9=await runMenuUpdateCore(_0x4db3ac[_0x583716(0x9a)],_0x4db3ac[_0x583716(0x98)],_0x4db3ac[_0x583716(0xcb)](_0x583716(0xb1)),{'mode':parseMode(_0x4db3ac[_0x583716(0xcb)](_0x583716(0xaf))),'dryRun':!![],'force':_0x4db3ac[_0x583716(0xa8)]('force'),'selection':parseSelection(_0x4db3ac),'loadScriptMode':parseLoadScriptMode(_0x4db3ac[_0x583716(0xcb)](_0x583716(0xd0)))});return{'method':_0x583716(0xcd),'url':_0x583716(0xba),'body':_0x1bbbb9,'description':_0x1bbbb9[_0x583716(0xd6)]?_0x583716(0xb8):_0x583716(0xc8)+(_0x1bbbb9[_0x583716(0xa9)]?.[_0x583716(0xcc)]??0x0)+_0x583716(0x8f)};},async 'execute'(_0x2e7228){const _0x17987c=a107_0x5b3fec;ensureRunnableContext(_0x2e7228['rawFlags'],_0x2e7228[_0x17987c(0xbd)]);const _0x4efa23=_0x2e7228[_0x17987c(0x8a)](_0x17987c(0xdd)),_0x23d676=_0x2e7228[_0x17987c(0xcb)](_0x17987c(0xb1)),_0x51e67e=parseMode(_0x2e7228[_0x17987c(0xcb)](_0x17987c(0xaf))),_0x48ad19=_0x2e7228['bool'](_0x17987c(0xbf)),_0x21c1c9=parseLoadScriptMode(_0x2e7228[_0x17987c(0xcb)](_0x17987c(0xd0))),_0x51c7e2=parseParams(_0x23d676),_0x4ef86b=!!(_0x51c7e2[_0x17987c(0xd8)]||_0x51c7e2[_0x17987c(0xd4)]);if(_0x4efa23||_0x4ef86b&&!isInteractive()){const _0x149351=await runMenuUpdateCore(_0x2e7228[_0x17987c(0x9a)],_0x2e7228['cookie'],_0x23d676,{'mode':_0x51e67e,'force':_0x48ad19,'selection':parseSelection(_0x2e7228),'loadScriptMode':_0x21c1c9});return _0x149351[_0x17987c(0xd6)]?writeCliSideChannelLine(_0x17987c(0xae)):(writeCliSideChannelLine(_0x17987c(0x9f)+_0x149351[_0x17987c(0xd3)]+_0x17987c(0x9b)),_0x149351[_0x17987c(0xad)]>0x0&&writeCliSideChannelLine('!\x20'+_0x149351[_0x17987c(0xad)]+_0x17987c(0xb2))),{'ok':_0x149351[_0x17987c(0xad)]===0x0,'data':_0x149351,'message':_0x149351[_0x17987c(0xd6)]?_0x17987c(0xac):'Menu\x20asset\x20update\x20completed:\x20'+_0x149351[_0x17987c(0xd3)]+'\x20updated,\x20'+_0x149351[_0x17987c(0xad)]+_0x17987c(0xc4)};}requireInteractive();const _0x326dc6=startSpinner(_0x17987c(0x90));let _0x5877b6;try{_0x5877b6=await fetchOnlineMenuList(_0x2e7228[_0x17987c(0x9a)],_0x2e7228['cookie']),stopSpinner(_0x326dc6,_0x17987c(0x9d),!![]);}catch(_0x1f551f){stopSpinner(_0x326dc6,_0x17987c(0x97),![]);throw CliErrors[_0x17987c(0xc6)](_0x1f551f instanceof Error?_0x1f551f[_0x17987c(0xc1)]:_0x17987c(0x97));}const _0xa20370=filterMenusWithResources(_0x5877b6),_0x581edb=parseSelection(_0x2e7228,![]),_0xb54212=_0x581edb?selectMenusForUpdate(_0xa20370,_0x581edb):_0xa20370;if(_0xb54212[_0x17987c(0xcc)]===0x0)return writeCliSideChannelLine(a107_0x1a5300[_0x17987c(0xa5)](_0x17987c(0x8b))),{'ok':!![]};writeCliSideChannelLine(''),writeCliSideChannelLine(a107_0x1a5300[_0x17987c(0xa0)](_0x17987c(0xa7)+_0xb54212[_0x17987c(0xcc)]+_0x17987c(0xc3))),writeCliSideChannelLine(renderUpdateSummary(_0xb54212[_0x17987c(0xc7)](_0x4c28e1=>_0x4c28e1[_0x17987c(0xb5)]),[_0x51c7e2['jsUrl'],_0x51c7e2[_0x17987c(0xd4)]])),writeCliSideChannelLine('');let _0x4dba86=_0x51c7e2[_0x17987c(0xd8)],_0x414e59=_0x51c7e2[_0x17987c(0xd4)];!_0x4dba86&&(_0x4dba86=await askJsUrl());!_0x414e59&&(_0x414e59=await askCssUrl());const _0xd2bf67=await askConfirm(_0x17987c(0xd5)+_0xb54212[_0x17987c(0xcc)]+_0x17987c(0xb6)+_0x4dba86+'\x20and\x20CSS:\x20'+_0x414e59+'?');if(!_0xd2bf67)return writeCliSideChannelLine(a107_0x1a5300[_0x17987c(0xca)]('\x20\x20Cancelled.')),{'ok':!![]};const _0x35b92b=startSpinner(_0x17987c(0xd2)+_0xb54212['length']+_0x17987c(0xcf));try{const _0x45487d=await runMenuUpdateCore(_0x2e7228['appCode'],_0x2e7228[_0x17987c(0x98)],JSON[_0x17987c(0xdb)]({'jsUrl':_0x4dba86,'cssUrl':_0x414e59}),{'mode':_0x51e67e,'force':_0x48ad19,'selection':{'all':![],'menuIds':_0xb54212['map'](_0x1b22d0=>_0x1b22d0['id']),'paths':[]},'loadScriptMode':_0x21c1c9});return stopSpinner(_0x35b92b,_0x17987c(0x83)+_0x45487d[_0x17987c(0xd3)]+_0x17987c(0xc9),_0x45487d['failed']===0x0),{'ok':_0x45487d['failed']===0x0,'data':_0x45487d,'message':_0x45487d[_0x17987c(0xad)]>0x0?_0x17987c(0xa1)+_0x45487d['updated']+_0x17987c(0xbe)+_0x45487d[_0x17987c(0xad)]+_0x17987c(0xc4):_0x17987c(0xa1)+_0x45487d[_0x17987c(0xd3)]+_0x17987c(0x87)};}catch(_0x5a5acb){stopSpinner(_0x35b92b,_0x17987c(0xa2),![]);throw CliErrors[_0x17987c(0xc6)](_0x5a5acb instanceof Error?_0x5a5acb[_0x17987c(0xc1)]:'Menu\x20asset\x20update\x20failed');}}};function ensureRunnableContext(_0x219de6,_0x5c9e0c){const _0xa8e913=a107_0x5b3fec,_0x4fa4d3=_0x219de6[_0xa8e913(0xd9)]?String(_0x219de6[_0xa8e913(0xd9)])['trim']():'';if(!isInProject()&&!_0x5c9e0c&&!_0x4fa4d3)throw CliErrors[_0xa8e913(0xc6)]('menu\x20asset-update\x20requires\x20a\x20project\x20context\x20or\x20explicit\x20--appcode.\x20'+_0xa8e913(0xce));}function parseMode(_0x55ac4f){const _0x52b852=a107_0x5b3fec;if(!_0x55ac4f)return _0x52b852(0xde);if(_0x55ac4f===_0x52b852(0xbb)||_0x55ac4f===_0x52b852(0xde))return _0x55ac4f;throw CliErrors[_0x52b852(0xc6)](_0x52b852(0x8d));}function parseSelection(_0x21f6e2,_0x2ee932=!![]){const _0x57f501=a107_0x5b3fec,_0x5c60ff=_0x21f6e2[_0x57f501(0xa8)]('all'),_0x2e52fc=parseMenuIds(_0x21f6e2[_0x57f501(0xcb)](_0x57f501(0x85))),_0x248035=parseCsv(_0x21f6e2[_0x57f501(0xcb)]('paths')),_0x5f0189=_0x2e52fc[_0x57f501(0xcc)]>0x0||_0x248035[_0x57f501(0xcc)]>0x0;if(_0x5c60ff&&_0x5f0189)throw CliErrors[_0x57f501(0xc6)](_0x57f501(0x9e));if(!_0x5c60ff&&!_0x5f0189){if(!_0x2ee932)return undefined;throw CliErrors[_0x57f501(0xc6)]('menu\x20asset-update\x20requires\x20an\x20explicit\x20target:\x20pass\x20--all,\x20--menu-ids,\x20or\x20--paths.');}return{'all':_0x5c60ff,'menuIds':_0x2e52fc,'paths':_0x248035};}function parseMenuIds(_0x222c69){const _0x3070f6=a107_0x5b3fec,_0x1759ed=parseCsv(_0x222c69),_0x385cd9=_0x1759ed[_0x3070f6(0xc7)](Number);if(_0x385cd9[_0x3070f6(0xb3)](_0xc54288=>!Number[_0x3070f6(0x92)](_0xc54288)||_0xc54288<=0x0))throw CliErrors[_0x3070f6(0xc6)](_0x3070f6(0x89));return[...new Set(_0x385cd9)];}function parseCsv(_0x5c6739){const _0x28233e=a107_0x5b3fec;return[...new Set(_0x5c6739['split'](',')[_0x28233e(0xc7)](_0x5ee020=>_0x5ee020[_0x28233e(0xdc)]())[_0x28233e(0x8c)](Boolean))];}function parseLoadScriptMode(_0x3d0dc2){const _0x24d58b=a107_0x5b3fec;if(!_0x3d0dc2)return undefined;if(_0x3d0dc2===_0x24d58b(0x86)||_0x3d0dc2===_0x24d58b(0xb7)||_0x3d0dc2===_0x24d58b(0xc0))return _0x3d0dc2;throw CliErrors['validation']('Invalid\x20--load-mode.\x20Allowed\x20values:\x20import,\x20script,\x20fetch');}function parseParams(_0x38e9d4){const _0x18de75=a107_0x5b3fec;if(!_0x38e9d4)return{};try{const _0x2fdd2f=JSON[_0x18de75(0x88)](_0x38e9d4);if(typeof _0x2fdd2f!=='object'||_0x2fdd2f===null||Array[_0x18de75(0xb0)](_0x2fdd2f))return{};return{'jsUrl':typeof _0x2fdd2f[_0x18de75(0xd8)]==='string'?_0x2fdd2f[_0x18de75(0xd8)]['trim']():undefined,'cssUrl':typeof _0x2fdd2f[_0x18de75(0xd4)]===_0x18de75(0x91)?_0x2fdd2f[_0x18de75(0xd4)][_0x18de75(0xdc)]():undefined};}catch{return{};}}
|
|
1
|
+
const a107_0x3bea88=a107_0x568c;(function(_0x1c5267,_0x5c69bf){const _0x3a0794=a107_0x568c,_0x4e16f9=_0x1c5267();while(!![]){try{const _0x17842b=-parseInt(_0x3a0794(0x1b4))/0x1*(-parseInt(_0x3a0794(0x1ac))/0x2)+parseInt(_0x3a0794(0x1e1))/0x3+parseInt(_0x3a0794(0x1b0))/0x4+-parseInt(_0x3a0794(0x1c0))/0x5*(-parseInt(_0x3a0794(0x1ca))/0x6)+-parseInt(_0x3a0794(0x1d4))/0x7+parseInt(_0x3a0794(0x1c5))/0x8*(parseInt(_0x3a0794(0x1e3))/0x9)+parseInt(_0x3a0794(0x1c9))/0xa*(-parseInt(_0x3a0794(0x1c1))/0xb);if(_0x17842b===_0x5c69bf)break;else _0x4e16f9['push'](_0x4e16f9['shift']());}catch(_0x31aa48){_0x4e16f9['push'](_0x4e16f9['shift']());}}}(a107_0x2d60,0xb5d32));import a107_0x129beb from'chalk';import{filterMenusWithResources,fetchOnlineMenuList}from'../../commands/menu/shared/logic.js';import{renderUpdateSummary}from'../../commands/menu/shared/compare-table.js';import{askJsUrl,askCssUrl,askConfirm,startSpinner,stopSpinner,isInteractive,requireInteractive}from'../../commands/menu/shared/inquirer.js';import{CliErrors}from'../../errors.js';import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';import{runMenuUpdateCore}from'../../commands/menu/shared/update-core.js';import{selectMenusForUpdate}from'../../commands/menu/shared/update-core.js';import{isInProject}from'../../context.js';export const menuAssetUpdate={'service':a107_0x3bea88(0x1ef),'command':a107_0x3bea88(0x1e8),'description':a107_0x3bea88(0x1d5),'risk':'high-risk-write','flags':[{'name':'params','type':a107_0x3bea88(0x1f9),'description':a107_0x3bea88(0x1b2)+a107_0x3bea88(0x1d8)},{'name':a107_0x3bea88(0x1a0),'type':'string','description':'Resource\x20update\x20mode:\x20replace\x20rewrites\x20resources\x20from\x20supplied\x20URLs;\x20'+a107_0x3bea88(0x1d3),'enum':['replace',a107_0x3bea88(0x1f6)],'default':a107_0x3bea88(0x1f6)},{'name':a107_0x3bea88(0x1e2),'type':'boolean','description':a107_0x3bea88(0x1b1)},{'name':a107_0x3bea88(0x1f7),'type':'string','description':a107_0x3bea88(0x1d9)},{'name':a107_0x3bea88(0x1e4),'type':a107_0x3bea88(0x1f9),'description':a107_0x3bea88(0x1a9)},{'name':a107_0x3bea88(0x1a5),'type':a107_0x3bea88(0x19f),'description':a107_0x3bea88(0x1f4)},{'name':'load-mode','type':a107_0x3bea88(0x1f9),'enum':[a107_0x3bea88(0x1c4),a107_0x3bea88(0x1de),'fetch'],'description':a107_0x3bea88(0x1a7)}],async 'dryRun'(_0x391359){const _0x48df48=a107_0x3bea88;ensureRunnableContext(_0x391359[_0x48df48(0x1fa)],_0x391359[_0x48df48(0x1e9)]);const _0x4d1267=await runMenuUpdateCore(_0x391359[_0x48df48(0x1be)],_0x391359['cookie'],_0x391359[_0x48df48(0x1c6)](_0x48df48(0x1d6)),{'mode':parseMode(_0x391359[_0x48df48(0x1c6)](_0x48df48(0x1a0))),'dryRun':!![],'force':_0x391359[_0x48df48(0x1ae)](_0x48df48(0x1e2)),'selection':parseSelection(_0x391359),'loadScriptMode':parseLoadScriptMode(_0x391359[_0x48df48(0x1c6)](_0x48df48(0x1a1)))});return{'method':'POST','url':_0x48df48(0x1b6),'body':_0x4d1267,'description':_0x4d1267['skipped']?_0x48df48(0x1bb):'Would\x20update\x20'+(_0x4d1267[_0x48df48(0x1db)]?.[_0x48df48(0x1bd)]??0x0)+_0x48df48(0x1dc)};},async 'execute'(_0x30a371){const _0xd0c534=a107_0x3bea88;ensureRunnableContext(_0x30a371[_0xd0c534(0x1fa)],_0x30a371['selectedAppName']);const _0x5bb1fc=_0x30a371['flag'](_0xd0c534(0x1a4)),_0xe1c856=_0x30a371['str']('params'),_0x2ace5c=parseMode(_0x30a371[_0xd0c534(0x1c6)](_0xd0c534(0x1a0))),_0x67e253=_0x30a371[_0xd0c534(0x1ae)](_0xd0c534(0x1e2)),_0x5c8cd8=parseLoadScriptMode(_0x30a371[_0xd0c534(0x1c6)](_0xd0c534(0x1a1))),_0x4769f7=parseParams(_0xe1c856),_0xaefc85=!!(_0x4769f7[_0xd0c534(0x1c7)]||_0x4769f7['cssUrl']);if(_0x5bb1fc||_0xaefc85&&!isInteractive()){const _0x51cad7=await runMenuUpdateCore(_0x30a371[_0xd0c534(0x1be)],_0x30a371['cookie'],_0xe1c856,{'mode':_0x2ace5c,'force':_0x67e253,'selection':parseSelection(_0x30a371),'loadScriptMode':_0x5c8cd8});return _0x51cad7[_0xd0c534(0x1f5)]?writeCliSideChannelLine(_0xd0c534(0x1ec)):(writeCliSideChannelLine(_0xd0c534(0x1e5)+_0x51cad7[_0xd0c534(0x1b9)]+_0xd0c534(0x1ce)),_0x51cad7[_0xd0c534(0x1b3)]>0x0&&writeCliSideChannelLine('!\x20'+_0x51cad7['failed']+_0xd0c534(0x1eb))),{'ok':_0x51cad7[_0xd0c534(0x1b3)]===0x0,'data':_0x51cad7,'message':_0x51cad7[_0xd0c534(0x1f5)]?_0xd0c534(0x1a2):_0xd0c534(0x1f2)+_0x51cad7['updated']+'\x20updated,\x20'+_0x51cad7[_0xd0c534(0x1b3)]+_0xd0c534(0x1f0)};}requireInteractive();const _0x1c5b6e=startSpinner(_0xd0c534(0x1cc));let _0x422272;try{_0x422272=await fetchOnlineMenuList(_0x30a371['appCode'],_0x30a371[_0xd0c534(0x1a3)]),stopSpinner(_0x1c5b6e,_0xd0c534(0x1e0),!![]);}catch(_0x3d5ac2){stopSpinner(_0x1c5b6e,_0xd0c534(0x1b7),![]);throw CliErrors[_0xd0c534(0x1cb)](_0x3d5ac2 instanceof Error?_0x3d5ac2[_0xd0c534(0x1dd)]:_0xd0c534(0x1b7));}const _0x351c9b=filterMenusWithResources(_0x422272),_0xfc506f=parseSelection(_0x30a371,![]),_0x336615=_0xfc506f?selectMenusForUpdate(_0x351c9b,_0xfc506f):_0x351c9b;if(_0x336615['length']===0x0)return writeCliSideChannelLine(a107_0x129beb[_0xd0c534(0x1c3)]('\x20\x20!\x20No\x20menus\x20with\x20existing\x20resources\x20found')),{'ok':!![]};writeCliSideChannelLine(''),writeCliSideChannelLine(a107_0x129beb[_0xd0c534(0x1ba)](_0xd0c534(0x1f1)+_0x336615[_0xd0c534(0x1bd)]+'\x20menu(s)\x20with\x20existing\x20resources')),writeCliSideChannelLine(renderUpdateSummary(_0x336615['map'](_0x25909c=>_0x25909c[_0xd0c534(0x1bf)]),[_0x4769f7['jsUrl'],_0x4769f7[_0xd0c534(0x1d0)]])),writeCliSideChannelLine('');let _0x50eb63=_0x4769f7['jsUrl'],_0x405720=_0x4769f7[_0xd0c534(0x1d0)];!_0x50eb63&&(_0x50eb63=await askJsUrl());!_0x405720&&(_0x405720=await askCssUrl());const _0x2e4241=await askConfirm(_0xd0c534(0x1bc)+_0x336615[_0xd0c534(0x1bd)]+_0xd0c534(0x1a8)+_0x50eb63+_0xd0c534(0x19d)+_0x405720+'?');if(!_0x2e4241)return writeCliSideChannelLine(a107_0x129beb['gray'](_0xd0c534(0x1da))),{'ok':!![]};const _0x56ec14=startSpinner(_0xd0c534(0x1e6)+_0x336615[_0xd0c534(0x1bd)]+_0xd0c534(0x1d2));try{const _0x544320=await runMenuUpdateCore(_0x30a371[_0xd0c534(0x1be)],_0x30a371[_0xd0c534(0x1a3)],JSON[_0xd0c534(0x1aa)]({'jsUrl':_0x50eb63,'cssUrl':_0x405720}),{'mode':_0x2ace5c,'force':_0x67e253,'selection':{'all':![],'menuIds':_0x336615[_0xd0c534(0x1cd)](_0xf4b88c=>_0xf4b88c['id']),'paths':[]},'loadScriptMode':_0x5c8cd8});return stopSpinner(_0x56ec14,_0xd0c534(0x1cf)+_0x544320[_0xd0c534(0x1b9)]+_0xd0c534(0x1d1),_0x544320[_0xd0c534(0x1b3)]===0x0),{'ok':_0x544320[_0xd0c534(0x1b3)]===0x0,'data':_0x544320,'message':_0x544320['failed']>0x0?_0xd0c534(0x1f2)+_0x544320['updated']+_0xd0c534(0x1ad)+_0x544320['failed']+_0xd0c534(0x1f0):_0xd0c534(0x1f2)+_0x544320['updated']+'\x20updated.'};}catch(_0x96add7){stopSpinner(_0x56ec14,_0xd0c534(0x1b5),![]);throw CliErrors[_0xd0c534(0x1cb)](_0x96add7 instanceof Error?_0x96add7[_0xd0c534(0x1dd)]:_0xd0c534(0x1b5));}}};function ensureRunnableContext(_0x547bc2,_0x25a620){const _0x303847=a107_0x3bea88,_0x24e62e=_0x547bc2[_0x303847(0x1f3)]?String(_0x547bc2[_0x303847(0x1f3)])[_0x303847(0x1d7)]():'';if(!isInProject()&&!_0x25a620&&!_0x24e62e)throw CliErrors['validation'](_0x303847(0x1af)+_0x303847(0x1a6));}function parseMode(_0x44a24e){const _0x12a2a6=a107_0x3bea88;if(!_0x44a24e)return _0x12a2a6(0x1f6);if(_0x44a24e===_0x12a2a6(0x1df)||_0x44a24e===_0x12a2a6(0x1f6))return _0x44a24e;throw CliErrors[_0x12a2a6(0x1cb)](_0x12a2a6(0x19e));}function parseSelection(_0x5bdde4,_0x4c7925=!![]){const _0x4e93a9=a107_0x3bea88,_0x4e7b60=_0x5bdde4['bool'](_0x4e93a9(0x1a5)),_0x6f1ebf=parseMenuIds(_0x5bdde4[_0x4e93a9(0x1c6)](_0x4e93a9(0x1f7))),_0x262bec=parseCsv(_0x5bdde4['str'](_0x4e93a9(0x1e4))),_0x31c4b8=_0x6f1ebf['length']>0x0||_0x262bec[_0x4e93a9(0x1bd)]>0x0;if(_0x4e7b60&&_0x31c4b8)throw CliErrors[_0x4e93a9(0x1cb)](_0x4e93a9(0x1c2));if(!_0x4e7b60&&!_0x31c4b8){if(!_0x4c7925)return undefined;throw CliErrors['validation'](_0x4e93a9(0x1c8));}return{'all':_0x4e7b60,'menuIds':_0x6f1ebf,'paths':_0x262bec};}function parseMenuIds(_0x865d5){const _0x3e4277=a107_0x3bea88,_0x3e6a36=parseCsv(_0x865d5),_0x5d2517=_0x3e6a36[_0x3e4277(0x1cd)](Number);if(_0x5d2517[_0x3e4277(0x1e7)](_0xdc8e49=>!Number[_0x3e4277(0x1ea)](_0xdc8e49)||_0xdc8e49<=0x0))throw CliErrors[_0x3e4277(0x1cb)]('--menu-ids\x20must\x20contain\x20positive\x20safe\x20integers.');return[...new Set(_0x5d2517)];}function a107_0x568c(_0x1c3b09,_0x3bc536){_0x1c3b09=_0x1c3b09-0x19d;const _0x2d602e=a107_0x2d60();let _0x568c83=_0x2d602e[_0x1c3b09];return _0x568c83;}function parseCsv(_0x50a486){const _0x42660e=a107_0x3bea88;return[...new Set(_0x50a486[_0x42660e(0x1ed)](',')[_0x42660e(0x1cd)](_0x4e755f=>_0x4e755f['trim']())[_0x42660e(0x1ee)](Boolean))];}function parseLoadScriptMode(_0x45fd07){const _0x463407=a107_0x3bea88;if(!_0x45fd07)return undefined;if(_0x45fd07===_0x463407(0x1c4)||_0x45fd07==='script'||_0x45fd07===_0x463407(0x1f8))return _0x45fd07;throw CliErrors[_0x463407(0x1cb)]('Invalid\x20--load-mode.\x20Allowed\x20values:\x20import,\x20script,\x20fetch');}function parseParams(_0x267d61){const _0x40fb13=a107_0x3bea88;if(!_0x267d61)return{};try{const _0x3ac5d5=JSON[_0x40fb13(0x1ab)](_0x267d61);if(typeof _0x3ac5d5!==_0x40fb13(0x1b8)||_0x3ac5d5===null||Array['isArray'](_0x3ac5d5))return{};return{'jsUrl':typeof _0x3ac5d5['jsUrl']===_0x40fb13(0x1f9)?_0x3ac5d5[_0x40fb13(0x1c7)]['trim']():undefined,'cssUrl':typeof _0x3ac5d5[_0x40fb13(0x1d0)]===_0x40fb13(0x1f9)?_0x3ac5d5[_0x40fb13(0x1d0)][_0x40fb13(0x1d7)]():undefined};}catch{return{};}}function a107_0x2d60(){const _0x2eafee=['yes','all','Run\x20inside\x20a\x20directory\x20with\x20.rabetbase.json,\x20or\x20pass\x20--appcode\x20<code>.','Explicitly\x20change\x20the\x20microfrontend\x20resource\x20loading\x20mode','\x20menu(s)\x20with\x20JS:\x20','Exact\x20comma-separated\x20menu\x20paths\x20to\x20update','stringify','parse','173458plVtsa','\x20updated,\x20','bool','menu\x20asset-update\x20requires\x20a\x20project\x20context\x20or\x20explicit\x20--appcode.\x20','4336436bEkNiS','Allow\x20replace\x20mode\x20to\x20remove\x20existing\x20JS\x20resources','Pre-fill\x20JS/CSS\x20URLs\x20to\x20update.\x20','failed','1omtbRH','Menu\x20asset\x20update\x20failed','/smartapi/menu/update','Failed\x20to\x20fetch\x20online\x20menu\x20list','object','updated','cyan','No\x20menus\x20with\x20existing\x20resources\x20would\x20be\x20updated.','\x20\x20Update\x20','length','appCode','label','440dcZLpT','11vqKSOG','--all\x20cannot\x20be\x20combined\x20with\x20--menu-ids\x20or\x20--paths.','yellow','import','3198648HOxDem','str','jsUrl','menu\x20asset-update\x20requires\x20an\x20explicit\x20target:\x20pass\x20--all,\x20--menu-ids,\x20or\x20--paths.','11128940SskDXn','26898GJoLXs','validation','Fetching\x20online\x20menu\x20list...','map','\x20menu(s)\x20updated','Updated\x20','cssUrl','\x20menu(s)','\x20menu(s)...','patch\x20replaces\x20a\x20supplied\x20type\x20only\x20when\x20the\x20existing\x20target\x20is\x20unambiguous','7585879yCdmoP','Update\x20CDN\x20asset\x20URLs\x20for\x20selected\x20online\x20menus\x20with\x20existing\x20resources','params','trim','JSON:\x20{\x22jsUrl\x22:\x22https://...js\x22,\x22cssUrl\x22:\x22https://...css\x22}','Exact\x20comma-separated\x20menu\x20IDs\x20to\x20update','\x20\x20Cancelled.','diffs','\x20menu\x20resource\x20set(s).','message','script','replace','Online\x20menu\x20list\x20fetched','2928516pxOwSN','force','9PYZlhc','paths','✓\x20Menu\x20asset\x20update\x20completed:\x20','Updating\x20','some','asset-update','selectedAppName','isSafeInteger','\x20menu(s)\x20failed','!\x20No\x20menus\x20with\x20existing\x20resources\x20found','split','filter','menu','\x20failed.','\x20\x20Found\x20','Menu\x20asset\x20update\x20completed:\x20','appcode','Explicitly\x20update\x20every\x20menu\x20that\x20has\x20resources','skipped','patch','menu-ids','fetch','string','rawFlags','\x20and\x20CSS:\x20','Invalid\x20--mode.\x20Allowed\x20values:\x20replace,\x20patch','boolean','mode','load-mode','Menu\x20asset\x20update\x20skipped','cookie'];a107_0x2d60=function(){return _0x2eafee;};return a107_0x2d60();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a108_0x2330b4=a108_0x2916;(function(_0x2c62c9,_0x283f6c){const _0x22eea1=a108_0x2916,_0x3fd7ef=_0x2c62c9();while(!![]){try{const _0x4f3207=parseInt(_0x22eea1(0x16f))/0x1+-parseInt(_0x22eea1(0x199))/0x2*(parseInt(_0x22eea1(0x144))/0x3)+parseInt(_0x22eea1(0x120))/0x4*(parseInt(_0x22eea1(0x118))/0x5)+-parseInt(_0x22eea1(0x153))/0x6+parseInt(_0x22eea1(0x19d))/0x7*(-parseInt(_0x22eea1(0x139))/0x8)+parseInt(_0x22eea1(0x15c))/0x9*(-parseInt(_0x22eea1(0x170))/0xa)+parseInt(_0x22eea1(0x151))/0xb;if(_0x4f3207===_0x283f6c)break;else _0x3fd7ef['push'](_0x3fd7ef['shift']());}catch(_0xb52426){_0x3fd7ef['push'](_0x3fd7ef['shift']());}}}(a108_0x2cf1,0xd13e1));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{assertMenuDeletePlanCurrent,assertMenuDeletePlanExecutable,createMenuDeletePlanFile,mutationPlanFromDeleteFile,readMenuDeletePlan,writeMenuDeletePlan}from'../../commands/menu/shared/delete-plan.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,asVerificationError,assertExpectedState,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{batchDeleteMenuEntities}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const BACKEND=[{'method':a108_0x2330b4(0x17e),'path':'/smartapi/menu/batchDelete'}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':a108_0x2330b4(0x12a)},MENU_DELETE_RECURSIVE_FLAG={'name':a108_0x2330b4(0x138),'type':a108_0x2330b4(0x154),'description':a108_0x2330b4(0x15d)},MENU_DELETE_PLAN_OUT_FLAG={'name':'plan-out','type':'string','description':a108_0x2330b4(0x183)},MENU_DELETE_PLAN_FLAG={'name':a108_0x2330b4(0x198),'type':'string','description':a108_0x2330b4(0x167)};export const menuDelete={'service':a108_0x2330b4(0x119),'command':a108_0x2330b4(0x18b),'description':a108_0x2330b4(0x184),'risk':'high-risk-write','structuredErrors':!![],'flags':[MENU_DELETE_ID_FLAG,MENU_DELETE_RECURSIVE_FLAG,MENU_DELETE_PLAN_OUT_FLAG,MENU_DELETE_PLAN_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x22938b){const _0x3ff848=a108_0x2330b4;_0x22938b[_0x3ff848(0x137)](_0x3ff848(0x16e))?validateDeleteDryRunInput(_0x22938b):validateDeleteExecuteInput(_0x22938b),requireExplicitYes(_0x22938b);},async 'dryRun'(_0x2cde9a){const _0x36bae9=a108_0x2330b4;validateDeleteDryRunInput(_0x2cde9a);const _0x469f44=await buildDeletePlan(_0x2cde9a),_0x4ba15b=createMenuDeletePlanFile(_0x2cde9a[_0x36bae9(0x164)],_0x469f44),_0x15c157=await writeMenuDeletePlan(_0x2cde9a[_0x36bae9(0x121)](_0x36bae9(0x146)),_0x4ba15b),_0x532396=mutationResult({..._0x469f44,'planFile':{'path':_0x15c157,'createdAt':_0x4ba15b[_0x36bae9(0x127)],'expiresAt':_0x4ba15b['expiresAt']}});return menuDryRunResult(_0x532396,{'method':_0x36bae9(0x17e),'url':'/smartapi/menu/batchDelete','body':{'idList':_0x532396['deleteOrder']},'description':'Would\x20batch\x20delete\x20'+(_0x532396[_0x36bae9(0x13e)]?.[_0x36bae9(0x13a)]??0x1)+_0x36bae9(0x19a)+_0x532396[_0x36bae9(0x13c)]['id']+_0x36bae9(0x123)+_0x15c157+'.'});},async 'execute'(_0x3690be){const _0xf90e02=a108_0x2330b4;requireExplicitYes(_0x3690be),validateDeleteExecuteInput(_0x3690be);const _0x5822a6=await readMenuDeletePlan(_0x3690be['str']('plan')),_0x3f5d7f=mutationPlanFromDeleteFile(_0x5822a6['plan'],_0x5822a6['path']),_0x3eb4aa=_0x5822a6[_0xf90e02(0x198)]['target']['id'];try{assertMenuDeletePlanExecutable(_0x5822a6[_0xf90e02(0x198)],_0x3690be[_0xf90e02(0x164)]);}catch(_0x1c2ebe){throw menuFailure(asMenuError(_0x1c2ebe),_0x3f5d7f,{'stage':_0xf90e02(0x18f),'failed':{'id':_0x3eb4aa}});}let _0x5ca4e0,_0x2f1cbf;try{_0x5ca4e0=await fetchMutationSnapshot(_0x3690be,_0xf90e02(0x197),_0x3eb4aa),_0x2f1cbf=assertMenuDeletePlanCurrent(_0x5822a6[_0xf90e02(0x198)],_0x3690be[_0xf90e02(0x164)],_0x5ca4e0),assertDeleteTargetsComplete(_0x5822a6[_0xf90e02(0x198)],_0x5ca4e0),_0x2f1cbf[_0xf90e02(0x15a)](_0x5006d8=>assertDeleteSafety(_0x5006d8,_0x5822a6[_0xf90e02(0x198)][_0xf90e02(0x138)])),assertNoSharedPages(_0x5ca4e0,_0x2f1cbf),assertCascadeMatchesPlan(_0x3f5d7f,_0x2f1cbf);}catch(_0x59db88){throw menuFailure(asMenuError(_0x59db88),_0x3f5d7f,{'stage':_0xf90e02(0x191),'failed':{'id':_0x3eb4aa}});}const _0x12cbf8=_0x5822a6[_0xf90e02(0x198)][_0xf90e02(0x13e)];let _0x216052;try{_0x216052=await batchDeleteMenuEntities(_0x3690be['cookie'],_0x12cbf8);}catch(_0x2a7f2c){const _0x56e7ec=mapMenuApiError(_0x2a7f2c,_0xf90e02(0x14c)),_0x359ce0=[_0xf90e02(0x148)];let _0x29b6ab;try{_0x29b6ab=await readDeleteOutcome(_0x3690be,_0x12cbf8);}catch(_0x42798e){const _0x24ba62=describeMenuErrorCause(_0x42798e,_0xf90e02(0x12e),_0x3eb4aa);_0x359ce0[_0xf90e02(0x143)](_0xf90e02(0x168)+_0x24ba62[_0xf90e02(0x11a)]+_0xf90e02(0x18c)+_0x24ba62['causeMessage']);throw menuFailure(_0x56e7ec,_0x3f5d7f,{'stage':_0xf90e02(0x17a),'failed':{'targetIds':_0x12cbf8,'targetIdsAbsent':'unconfirmed',..._0x24ba62},'warnings':_0x359ce0,'verification':{'status':'failed','lookupCommand':_0xf90e02(0x13b),'targetIds':_0x12cbf8}});}throw menuFailure(_0x56e7ec,_0x3f5d7f,{'stage':_0xf90e02(0x17a),'succeeded':_0x29b6ab[_0xf90e02(0x152)][_0xf90e02(0x16a)](_0x4ecef8=>({'id':_0x4ecef8,'deleted':!![]})),'failed':{'targetIds':_0x12cbf8,'absentIds':_0x29b6ab[_0xf90e02(0x152)],'remainingIds':_0x29b6ab[_0xf90e02(0x196)]},'warnings':_0x359ce0,'verification':verificationFromOutcome(_0x29b6ab)});}if(_0x216052!==_0x12cbf8[_0xf90e02(0x13a)]){const _0x5b800e=menuError(_0xf90e02(0x156),_0xf90e02(0x171)+_0x216052+_0xf90e02(0x163)+_0x12cbf8[_0xf90e02(0x13a)]+'.',_0xf90e02(0x18d)),_0x2af924=[_0xf90e02(0x135)];let _0xd7fbe9;try{_0xd7fbe9=await readDeleteOutcome(_0x3690be,_0x12cbf8);}catch(_0x414da0){const _0x6bafcb=describeMenuErrorCause(_0x414da0,_0xf90e02(0x17f),_0x3eb4aa);_0x2af924[_0xf90e02(0x143)](_0xf90e02(0x11d)+_0x6bafcb[_0xf90e02(0x11a)]+_0xf90e02(0x18c)+_0x6bafcb[_0xf90e02(0x129)]);throw menuFailure(_0x5b800e,_0x3f5d7f,{'stage':'batch-delete','failed':{'targetIds':_0x12cbf8,'expectedCount':_0x12cbf8['length'],'reportedDeletedCount':_0x216052,'targetIdsAbsent':_0xf90e02(0x166),..._0x6bafcb},'warnings':_0x2af924,'verification':{'status':_0xf90e02(0x12b),'lookupCommand':_0xf90e02(0x13b),'targetIds':_0x12cbf8}});}throw menuFailure(_0x5b800e,_0x3f5d7f,{'stage':'batch-delete','succeeded':_0xd7fbe9[_0xf90e02(0x152)][_0xf90e02(0x16a)](_0xca66bf=>({'id':_0xca66bf,'deleted':!![]})),'failed':{'targetIds':_0x12cbf8,'expectedCount':_0x12cbf8[_0xf90e02(0x13a)],'reportedDeletedCount':_0x216052,'absentIds':_0xd7fbe9[_0xf90e02(0x152)],'remainingIds':_0xd7fbe9[_0xf90e02(0x196)]},'warnings':_0x2af924,'verification':verificationFromOutcome(_0xd7fbe9)});}let _0x14252f;try{_0x14252f=await readDeleteOutcome(_0x3690be,_0x12cbf8);}catch(_0x22b553){const _0x1b57ed=describeMenuErrorCause(_0x22b553,_0xf90e02(0x194),_0x3eb4aa),_0x4bf459=asVerificationError(_0x22b553,_0xf90e02(0x169)+_0x3eb4aa+_0xf90e02(0x161));throw menuFailure(_0x4bf459,_0x3f5d7f,{'stage':_0xf90e02(0x147),'succeeded':_0x12cbf8[_0xf90e02(0x16a)](_0x569a10=>({'id':_0x569a10,'deleteRequested':!![]})),'failed':{'id':_0x3eb4aa,'targetIds':_0x12cbf8,'targetIdsAbsent':_0xf90e02(0x166),..._0x1b57ed},'warnings':[_0xf90e02(0x16b)],'verification':{'status':_0xf90e02(0x12b),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetIds':_0x12cbf8}});}if(_0x14252f[_0xf90e02(0x196)]['length']>0x0){const _0x659269=menuError(_0xf90e02(0x15f),_0xf90e02(0x177)+_0x14252f[_0xf90e02(0x196)][_0xf90e02(0x173)](',\x20')+'.',_0xf90e02(0x18d));throw menuFailure(_0x659269,_0x3f5d7f,{'stage':_0xf90e02(0x147),'succeeded':_0x12cbf8[_0xf90e02(0x16a)](_0x170d28=>({'id':_0x170d28,'deleteRequested':!![]})),'failed':{'id':_0x3eb4aa,'targetIds':_0x12cbf8,'absentIds':_0x14252f[_0xf90e02(0x152)],'remainingIds':_0x14252f[_0xf90e02(0x196)]},'warnings':[_0xf90e02(0x133)],'verification':verificationFromOutcome(_0x14252f)});}const _0x101df8=_0x12cbf8[_0xf90e02(0x16a)](_0x5ce7d4=>({'id':_0x5ce7d4,'deleted':!![]})),_0x18f43d=mutationResult({..._0x3f5d7f,'dryRun':![],'succeeded':_0x101df8,'verification':{'checkedBy':_0xf90e02(0x11c),'plannedSnapshotHash':_0x3f5d7f['snapshotHash'],'finalSnapshotHash':_0x14252f['snapshot'][_0xf90e02(0x14b)],'reportedDeletedCount':_0x216052,'targetAbsent':!_0x14252f[_0xf90e02(0x12f)]['byId'][_0xf90e02(0x162)](_0x3eb4aa),'allTargetsAbsent':!![],'targetIds':_0x12cbf8}});return{'ok':!![],'data':_0x18f43d,'message':_0xf90e02(0x176)+_0x101df8['length']+_0xf90e02(0x19a)+_0x3eb4aa+'.'};}};async function readDeleteOutcome(_0x316efd,_0x117dad){const _0x4fa0bb=a108_0x2330b4,_0x13ae8d=await fetchMenuSnapshot(_0x316efd[_0x4fa0bb(0x164)],_0x316efd[_0x4fa0bb(0x182)]);return{'snapshot':_0x13ae8d,'absentIds':_0x117dad[_0x4fa0bb(0x134)](_0x1325f4=>!_0x13ae8d[_0x4fa0bb(0x19b)][_0x4fa0bb(0x162)](_0x1325f4)),'remainingIds':_0x117dad[_0x4fa0bb(0x134)](_0x683da4=>_0x13ae8d[_0x4fa0bb(0x19b)][_0x4fa0bb(0x162)](_0x683da4))};}function verificationFromOutcome(_0x597a0c){const _0x4fecee=a108_0x2330b4;return{'checkedBy':_0x4fecee(0x11c),'absentIds':_0x597a0c[_0x4fecee(0x152)],'remainingIds':_0x597a0c[_0x4fecee(0x196)]};}function validateDeleteDryRunInput(_0x57fe86){const _0x28885a=a108_0x2330b4;validateExactId(_0x57fe86);if(!hasFlag(_0x57fe86,'plan-out')||!_0x57fe86[_0x28885a(0x121)](_0x28885a(0x146))[_0x28885a(0x181)]())throw CliErrors[_0x28885a(0x122)](_0x28885a(0x146),_0x28885a(0x14e));if(hasFlag(_0x57fe86,_0x28885a(0x198)))throw CliErrors['validation'](_0x28885a(0x172));}function validateDeleteExecuteInput(_0x4d65c8){const _0x401778=a108_0x2330b4;if(!hasFlag(_0x4d65c8,'plan')||!_0x4d65c8[_0x401778(0x121)](_0x401778(0x198))['trim']())throw CliErrors[_0x401778(0x122)](_0x401778(0x198),_0x401778(0x12d));const _0x5e4202=['id',_0x401778(0x138),'plan-out',_0x401778(0x16c),'expect-path',_0x401778(0x15b)][_0x401778(0x134)](_0x3cd279=>hasFlag(_0x4d65c8,_0x3cd279));if(_0x5e4202[_0x401778(0x13a)]>0x0)throw CliErrors[_0x401778(0x11b)](_0x401778(0x155)+_0x5e4202[_0x401778(0x16a)](_0x2b813e=>'--'+_0x2b813e)[_0x401778(0x173)](',\x20')+'.');}function a108_0x2916(_0x12a97c,_0x1d33c2){_0x12a97c=_0x12a97c-0x118;const _0x2cf1f3=a108_0x2cf1();let _0x291665=_0x2cf1f3[_0x12a97c];return _0x291665;}async function buildDeletePlan(_0xd829b1){const _0x19b81a=a108_0x2330b4,_0x2a41c0=validateExactId(_0xd829b1),_0x303d79=await fetchMutationSnapshot(_0xd829b1,_0x19b81a(0x17b),_0x2a41c0),_0x551e19=requireMenu(_0x303d79,_0x2a41c0);assertExpectedState(_0xd829b1,_0x551e19);const _0x5d5b47=_0xd829b1[_0x19b81a(0x137)]('recursive');let _0x4e3220;if(_0x5d5b47){if(_0x551e19[_0x19b81a(0x159)]['trim']()[_0x19b81a(0x16d)]()!==_0x19b81a(0x13d))throw menuError(_0x19b81a(0x160),'Menu\x20'+_0x551e19['id']+_0x19b81a(0x187)+(_0x551e19[_0x19b81a(0x159)]||_0x19b81a(0x124))+_0x19b81a(0x141));_0x4e3220=collectDeleteTargets(_0x303d79,_0x551e19),_0x4e3220['forEach'](_0xe7bc87=>assertDeleteSafety(_0xe7bc87,!![]));}else assertDeleteSafety(_0x551e19),_0x4e3220=[_0x551e19];assertNoSharedPages(_0x303d79,_0x4e3220);const _0x2020f8=_0x4e3220['map'](_0x25b439=>_0x25b439['id']),_0x508abb=cascadeForTargets(_0x4e3220),_0x27dee2=_0x508abb[_0x19b81a(0x185)][_0x19b81a(0x13a)]>0x0?[_0x19b81a(0x178)]:[];return mutationResult({'operation':_0x19b81a(0x18b),'selector':{'id':_0x2a41c0,'recursive':_0x5d5b47},'before':_0x551e19,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':_0x19b81a(0x126),'method':_0x19b81a(0x17e),'path':'/smartapi/menu/batchDelete','body':{'idList':_0x2020f8}}],'targets':_0x4e3220,'deleteOrder':_0x2020f8,'snapshotHash':_0x303d79['hash'],'cascade':_0x508abb,'warnings':_0x27dee2});}function assertDeleteSafety(_0x706ae1,_0x2ba076=![]){const _0x5a9a4c=a108_0x2330b4,_0x2c5251=_0x706ae1[_0x5a9a4c(0x159)][_0x5a9a4c(0x181)]()[_0x5a9a4c(0x16d)]()===_0x5a9a4c(0x13d);if(_0x706ae1[_0x5a9a4c(0x15e)]>0x0&&(!_0x2ba076||!_0x2c5251))throw menuError(_0x5a9a4c(0x145),_0x5a9a4c(0x174)+_0x706ae1['id']+_0x5a9a4c(0x136)+_0x706ae1[_0x5a9a4c(0x15e)]+_0x5a9a4c(0x11e),_0x5a9a4c(0x128)+_0x706ae1[_0x5a9a4c(0x150)][_0x5a9a4c(0x173)](',\x20'));if(_0x2c5251&&_0x706ae1[_0x5a9a4c(0x140)]!=null)throw menuError('menu_delete_page_bound',_0x5a9a4c(0x188)+_0x706ae1['id']+_0x5a9a4c(0x17d)+_0x706ae1['pageId']+_0x5a9a4c(0x18e),_0x5a9a4c(0x14a));if(!_0x2c5251)return;if(!_0x706ae1[_0x5a9a4c(0x19c)])throw menuError(_0x5a9a4c(0x180),_0x5a9a4c(0x188)+_0x706ae1['id']+_0x5a9a4c(0x195),_0x5a9a4c(0x12c));if(_0x706ae1[_0x5a9a4c(0x125)]['length']>0x0)throw menuError('menu_folder_has_resources',_0x5a9a4c(0x188)+_0x706ae1['id']+_0x5a9a4c(0x186)+_0x706ae1[_0x5a9a4c(0x125)]['length']+_0x5a9a4c(0x11f),_0x5a9a4c(0x189));}function collectDeleteTargets(_0x4044d1,_0x254f5e){const _0xff4e8f=[],_0x317279=new Set(),_0x166e58=new Set(),_0x57938c=_0x47b93c=>{const _0x32e55d=a108_0x2916;if(_0x317279['has'](_0x47b93c['id']))throw menuError(_0x32e55d(0x131),'Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20'+_0x47b93c['id']+'.');if(_0x166e58[_0x32e55d(0x162)](_0x47b93c['id']))return;_0x317279[_0x32e55d(0x13f)](_0x47b93c['id']);for(const _0x343b1f of _0x47b93c[_0x32e55d(0x150)]){const _0x598b2d=_0x4044d1[_0x32e55d(0x19b)][_0x32e55d(0x14d)](_0x343b1f);if(!_0x598b2d)throw menuError(_0x32e55d(0x131),_0x32e55d(0x174)+_0x47b93c['id']+_0x32e55d(0x17c)+_0x343b1f+'.');_0x57938c(_0x598b2d);}_0x317279[_0x32e55d(0x18b)](_0x47b93c['id']),_0x166e58[_0x32e55d(0x13f)](_0x47b93c['id']),_0xff4e8f[_0x32e55d(0x143)](_0x47b93c);};return _0x57938c(_0x254f5e),_0xff4e8f;}function assertDeleteTargetsComplete(_0x2bcbb4,_0x34c536){const _0x48c44c=a108_0x2330b4,_0x3872e6=requireMenu(_0x34c536,_0x2bcbb4['target']['id']);if(_0x2bcbb4[_0x48c44c(0x138)]&&_0x3872e6[_0x48c44c(0x159)][_0x48c44c(0x181)]()[_0x48c44c(0x16d)]()!==_0x48c44c(0x13d))throw menuError('menu_plan_invalid',_0x48c44c(0x192)+_0x3872e6['id']+_0x48c44c(0x149));const _0x4e6ae9=_0x2bcbb4[_0x48c44c(0x138)]?collectDeleteTargets(_0x34c536,_0x3872e6)[_0x48c44c(0x16a)](_0x664395=>_0x664395['id']):[_0x3872e6['id']];if(JSON['stringify'](_0x2bcbb4[_0x48c44c(0x13e)])!==JSON[_0x48c44c(0x18a)](_0x4e6ae9))throw menuError(_0x48c44c(0x190),'Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.');}function a108_0x2cf1(){const _0x341f6c=['Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)','failed','Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.','--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.','read\x20menu\x20state\x20after\x20batch\x20delete\x20failure','snapshot','size','menu_tree_invalid','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.','The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.','filter','The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.','\x20has\x20','bool','recursive','64ZQFrzd','length','rabetbase\x20menu\x20list\x20--format\x20json','selector','folder','deleteOrder','add','pageId','\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.','cascade','push','858084cCYxAG','menu_non_empty','plan-out','verification','The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.','\x20is\x20not\x20a\x20folder.','Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.','hash','batch\x20delete','get','--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.','Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.','childrenIds','29149538NRFDRT','absentIds','3942666gnaJVu','boolean','Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20','menu_batch_delete_count_mismatch','indexOf','page\x20','type','forEach','expected-children-count','9QhIUeK','Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first','childrenCount','menu_verification_failed','menu_recursive_requires_folder','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence','has','\x20deleted\x20menus;\x20expected\x20','appCode','menus','unconfirmed','Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out','Post-failure\x20menu\x20readback\x20failed\x20(','Batch\x20delete\x20request\x20for\x20menu\x20','map','The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','expect-parent-id','toLowerCase','dry-run','201331IjSgzr','10198210CURWQk','Backend\x20reported\x20','--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.','join','Menu\x20','menu_page_shared','Deleted\x20','One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20','Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.','message','batch-delete','plan\x20delete','\x20references\x20missing\x20child\x20','\x20is\x20unexpectedly\x20bound\x20to\x20page\x20','POST','read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch','menu_folder_resources_invalid','trim','cookie','Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file','Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','pages','\x20still\x20references\x20','\x20is\x20type\x20\x22','Folder\x20','Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.','stringify','delete','):\x20','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','\x20and\x20cannot\x20be\x20deleted\x20safely.','plan-validation','menu_plan_invalid','pre-write-plan-validation','Recursive\x20menu\x20delete\x20plan\x20root\x20','Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20','verify\x20batch\x20delete','\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.','remainingIds','execute\x20reviewed\x20delete\x20plan','plan','2LHpiWH','\x20menu(s)\x20under\x20exact\x20id\x20','byId','resourcesValid','953687fbWDfQ','661660WRVaal','menu','causeCode','validation','menu\x20list','Post-mismatch\x20menu\x20readback\x20failed\x20(','\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.','\x20resource\x20URL(s).','32MNmHGD','str','flagMissing',';\x20execution\x20must\x20consume\x20','unknown','resources','batch-delete-menu','createdAt','Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20','causeMessage'];a108_0x2cf1=function(){return _0x341f6c;};return a108_0x2cf1();}function assertNoSharedPages(_0x3bb591,_0x4a661d){const _0x4d0541=a108_0x2330b4,_0x5482bf=new Set(_0x4a661d[_0x4d0541(0x16a)](_0x1f5a26=>_0x1f5a26['id'])),_0x531ef4=new Set(_0x4a661d[_0x4d0541(0x16a)](_0xc1cb3c=>_0xc1cb3c[_0x4d0541(0x140)])['filter'](_0x1f91e9=>_0x1f91e9!=null));if(_0x531ef4[_0x4d0541(0x130)]===0x0)return;const _0x952ad2=_0x3bb591[_0x4d0541(0x165)][_0x4d0541(0x134)](_0x2c50ae=>!_0x5482bf[_0x4d0541(0x162)](_0x2c50ae['id'])&&_0x2c50ae['pageId']!=null&&_0x531ef4['has'](_0x2c50ae[_0x4d0541(0x140)]));if(_0x952ad2[_0x4d0541(0x13a)]===0x0)return;const _0x3101b3=_0x952ad2['map'](_0x503673=>_0x4d0541(0x158)+_0x503673['pageId']+'\x20->\x20menu\x20'+_0x503673['id'])['join'](',\x20');throw menuError(_0x4d0541(0x175),_0x4d0541(0x193)+_0x3101b3+'.',_0x4d0541(0x132));}function assertCascadeMatchesPlan(_0x2209ff,_0x2c3532){const _0x1366aa=a108_0x2330b4,_0x1d8182=cascadeForTargets(_0x2c3532);if(JSON['stringify'](_0x2209ff[_0x1366aa(0x142)])!==JSON[_0x1366aa(0x18a)](_0x1d8182))throw menuError('menu_plan_invalid',_0x1366aa(0x14f));}function cascadeForTargets(_0x22fbf7){const _0xac1830=a108_0x2330b4,_0x318e19=_0x22fbf7[_0xac1830(0x16a)](_0xb53764=>_0xb53764[_0xac1830(0x140)])[_0xac1830(0x134)](_0x74338d=>_0x74338d!=null)[_0xac1830(0x134)]((_0x5347f3,_0x5985ef,_0x40be1f)=>_0x40be1f[_0xac1830(0x157)](_0x5347f3)===_0x5985ef);return{'pages':_0x318e19,'pageSchemaAffected':_0x318e19[_0xac1830(0x13a)]>0x0};}function asMenuError(_0x11497d){const _0x30a426=a108_0x2330b4;return _0x11497d instanceof CliError?_0x11497d:menuError(_0x30a426(0x190),_0x11497d instanceof Error?_0x11497d[_0x30a426(0x179)]:String(_0x11497d));}
|
|
1
|
+
const a108_0x4a07ec=a108_0xb4c9;(function(_0x5aaf5d,_0x3b356c){const _0x5e8858=a108_0xb4c9,_0x438db3=_0x5aaf5d();while(!![]){try{const _0x5c6841=-parseInt(_0x5e8858(0x1b6))/0x1+-parseInt(_0x5e8858(0x1c4))/0x2+parseInt(_0x5e8858(0x1f7))/0x3+parseInt(_0x5e8858(0x1dc))/0x4+parseInt(_0x5e8858(0x1b1))/0x5+-parseInt(_0x5e8858(0x20c))/0x6+parseInt(_0x5e8858(0x211))/0x7;if(_0x5c6841===_0x3b356c)break;else _0x438db3['push'](_0x438db3['shift']());}catch(_0x215311){_0x438db3['push'](_0x438db3['shift']());}}}(a108_0x3c3f,0xbff87));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{assertMenuDeletePlanCurrent,assertMenuDeletePlanExecutable,createMenuDeletePlanFile,mutationPlanFromDeleteFile,readMenuDeletePlan,writeMenuDeletePlan}from'../../commands/menu/shared/delete-plan.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,asVerificationError,assertExpectedState,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{batchDeleteMenuEntities}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const BACKEND=[{'method':'POST','path':'/smartapi/menu/batchDelete'}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':a108_0x4a07ec(0x1a7)},MENU_DELETE_RECURSIVE_FLAG={'name':a108_0x4a07ec(0x1ad),'type':'boolean','description':a108_0x4a07ec(0x1e3)},MENU_DELETE_PLAN_OUT_FLAG={'name':a108_0x4a07ec(0x1d9),'type':a108_0x4a07ec(0x1b7),'description':a108_0x4a07ec(0x1fd)},MENU_DELETE_PLAN_FLAG={'name':'plan','type':a108_0x4a07ec(0x1b7),'description':a108_0x4a07ec(0x1c8)};function a108_0x3c3f(){const _0x28d151=['target','The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.','Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out','childrenCount','pages','):\x20','expect-parent-id','/smartapi/menu/batchDelete','unconfirmed','childrenIds','batch\x20delete','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.','high-risk-write','\x20->\x20menu\x20','menu_batch_delete_count_mismatch','push','The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.','Menu\x20','plan-out','Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.','stringify','1529432SUSqjL','validation','menu_delete_page_bound','batch-delete-menu','plan-validation','plan','menu_recursive_requires_folder','Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first','\x20resource\x20URL(s).','byId','pageId','\x20is\x20unexpectedly\x20bound\x20to\x20page\x20','pre-write-plan-validation','bool','menu','--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.','createdAt','One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20','resources','map','cascade','Backend\x20reported\x20','filter','--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.','plan\x20delete','rabetbase\x20menu\x20list\x20--format\x20json','folder','4204893rQnObI','Deleted\x20','Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.','Post-failure\x20menu\x20readback\x20failed\x20(','cookie','--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.','Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file','Would\x20batch\x20delete\x20','message','forEach','toLowerCase','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence','trim','type','absentIds','menu_folder_has_resources','Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.','Recursive\x20menu\x20delete\x20plan\x20root\x20','Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20','\x20is\x20not\x20a\x20folder.','expect-path','8648844nEizcc','menu\x20list','menu_folder_resources_invalid','menu_plan_invalid','length','5444390INGfPg','add','menu_page_shared','verification','menu_verification_failed','\x20references\x20missing\x20child\x20','causeCode','flagMissing','read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch','Folder\x20','POST','failed','has','Post-mismatch\x20menu\x20readback\x20failed\x20(','Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)','\x20menu(s)\x20under\x20exact\x20id\x20','delete','causeMessage','\x20deleted\x20menus;\x20expected\x20','unknown','recursive','\x20and\x20cannot\x20be\x20deleted\x20safely.','execute\x20reviewed\x20delete\x20plan','batch-delete','4704010yyRkyK','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','deleteOrder','hash','snapshot','1118144mcXgqF','string','get','The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.','size','remainingIds','selector','\x20is\x20type\x20\x22','join','str','resourcesValid','dry-run','path','appCode','313264CgbrWR','menu_non_empty'];a108_0x3c3f=function(){return _0x28d151;};return a108_0x3c3f();}export const menuDelete={'service':a108_0x4a07ec(0x1ea),'command':a108_0x4a07ec(0x1a9),'description':'Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','risk':a108_0x4a07ec(0x1d2),'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'(_0x2de28f){const _0x557a14=a108_0x4a07ec;_0x2de28f[_0x557a14(0x1e9)](_0x557a14(0x1c1))?validateDeleteDryRunInput(_0x2de28f):validateDeleteExecuteInput(_0x2de28f),requireExplicitYes(_0x2de28f);},async 'dryRun'(_0x1135b1){const _0x55532d=a108_0x4a07ec;validateDeleteDryRunInput(_0x1135b1);const _0x2fc69b=await buildDeletePlan(_0x1135b1),_0x32b903=createMenuDeletePlanFile(_0x1135b1[_0x55532d(0x1c3)],_0x2fc69b),_0xf569d8=await writeMenuDeletePlan(_0x1135b1['str'](_0x55532d(0x1d9)),_0x32b903),_0x21d2bf=mutationResult({..._0x2fc69b,'planFile':{'path':_0xf569d8,'createdAt':_0x32b903[_0x55532d(0x1ec)],'expiresAt':_0x32b903['expiresAt']}});return menuDryRunResult(_0x21d2bf,{'method':_0x55532d(0x1a3),'url':_0x55532d(0x1cd),'body':{'idList':_0x21d2bf[_0x55532d(0x1b3)]},'description':_0x55532d(0x1fe)+(_0x21d2bf[_0x55532d(0x1b3)]?.[_0x55532d(0x210)]??0x1)+_0x55532d(0x1a8)+_0x21d2bf[_0x55532d(0x1bc)]['id']+';\x20execution\x20must\x20consume\x20'+_0xf569d8+'.'});},async 'execute'(_0x400113){const _0x1278e1=a108_0x4a07ec;requireExplicitYes(_0x400113),validateDeleteExecuteInput(_0x400113);const _0x13c4b5=await readMenuDeletePlan(_0x400113[_0x1278e1(0x1bf)](_0x1278e1(0x1e1))),_0x171a6e=mutationPlanFromDeleteFile(_0x13c4b5[_0x1278e1(0x1e1)],_0x13c4b5[_0x1278e1(0x1c2)]),_0x40ceb9=_0x13c4b5['plan'][_0x1278e1(0x1c6)]['id'];try{assertMenuDeletePlanExecutable(_0x13c4b5[_0x1278e1(0x1e1)],_0x400113['appCode']);}catch(_0x297566){throw menuFailure(asMenuError(_0x297566),_0x171a6e,{'stage':_0x1278e1(0x1e0),'failed':{'id':_0x40ceb9}});}let _0x369ce1,_0x3ae15b;try{_0x369ce1=await fetchMutationSnapshot(_0x400113,_0x1278e1(0x1af),_0x40ceb9),_0x3ae15b=assertMenuDeletePlanCurrent(_0x13c4b5[_0x1278e1(0x1e1)],_0x400113[_0x1278e1(0x1c3)],_0x369ce1),assertDeleteTargetsComplete(_0x13c4b5[_0x1278e1(0x1e1)],_0x369ce1),_0x3ae15b[_0x1278e1(0x200)](_0x5ae667=>assertDeleteSafety(_0x5ae667,_0x13c4b5[_0x1278e1(0x1e1)][_0x1278e1(0x1ad)])),assertNoSharedPages(_0x369ce1,_0x3ae15b),assertCascadeMatchesPlan(_0x171a6e,_0x3ae15b);}catch(_0x205dc2){throw menuFailure(asMenuError(_0x205dc2),_0x171a6e,{'stage':_0x1278e1(0x1e8),'failed':{'id':_0x40ceb9}});}const _0x48aba9=_0x13c4b5[_0x1278e1(0x1e1)]['deleteOrder'];let _0x2bad0a;try{_0x2bad0a=await batchDeleteMenuEntities(_0x400113[_0x1278e1(0x1fb)],_0x48aba9);}catch(_0x232445){const _0x538a6d=mapMenuApiError(_0x232445,_0x1278e1(0x1d0)),_0x5cb214=['The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.'];let _0x402d06;try{_0x402d06=await readDeleteOutcome(_0x400113,_0x48aba9);}catch(_0x435f8c){const _0x59a659=describeMenuErrorCause(_0x435f8c,'read\x20menu\x20state\x20after\x20batch\x20delete\x20failure',_0x40ceb9);_0x5cb214['push'](_0x1278e1(0x1fa)+_0x59a659['causeCode']+_0x1278e1(0x1cb)+_0x59a659[_0x1278e1(0x1aa)]);throw menuFailure(_0x538a6d,_0x171a6e,{'stage':_0x1278e1(0x1b0),'failed':{'targetIds':_0x48aba9,'targetIdsAbsent':_0x1278e1(0x1ce),..._0x59a659},'warnings':_0x5cb214,'verification':{'status':_0x1278e1(0x1a4),'lookupCommand':_0x1278e1(0x1f5),'targetIds':_0x48aba9}});}throw menuFailure(_0x538a6d,_0x171a6e,{'stage':_0x1278e1(0x1b0),'succeeded':_0x402d06[_0x1278e1(0x205)][_0x1278e1(0x1ef)](_0x2d1301=>({'id':_0x2d1301,'deleted':!![]})),'failed':{'targetIds':_0x48aba9,'absentIds':_0x402d06['absentIds'],'remainingIds':_0x402d06['remainingIds']},'warnings':_0x5cb214,'verification':verificationFromOutcome(_0x402d06)});}if(_0x2bad0a!==_0x48aba9['length']){const _0x5f5bf9=menuError(_0x1278e1(0x1d4),_0x1278e1(0x1f1)+_0x2bad0a+_0x1278e1(0x1ab)+_0x48aba9[_0x1278e1(0x210)]+'.','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.'),_0x28aa92=[_0x1278e1(0x1c7)];let _0x11e99f;try{_0x11e99f=await readDeleteOutcome(_0x400113,_0x48aba9);}catch(_0x5869f7){const _0x528604=describeMenuErrorCause(_0x5869f7,_0x1278e1(0x1a1),_0x40ceb9);_0x28aa92[_0x1278e1(0x1d5)](_0x1278e1(0x1a6)+_0x528604[_0x1278e1(0x217)]+_0x1278e1(0x1cb)+_0x528604[_0x1278e1(0x1aa)]);throw menuFailure(_0x5f5bf9,_0x171a6e,{'stage':_0x1278e1(0x1b0),'failed':{'targetIds':_0x48aba9,'expectedCount':_0x48aba9['length'],'reportedDeletedCount':_0x2bad0a,'targetIdsAbsent':_0x1278e1(0x1ce),..._0x528604},'warnings':_0x28aa92,'verification':{'status':'failed','lookupCommand':_0x1278e1(0x1f5),'targetIds':_0x48aba9}});}throw menuFailure(_0x5f5bf9,_0x171a6e,{'stage':_0x1278e1(0x1b0),'succeeded':_0x11e99f[_0x1278e1(0x205)]['map'](_0x4e7896=>({'id':_0x4e7896,'deleted':!![]})),'failed':{'targetIds':_0x48aba9,'expectedCount':_0x48aba9[_0x1278e1(0x210)],'reportedDeletedCount':_0x2bad0a,'absentIds':_0x11e99f[_0x1278e1(0x205)],'remainingIds':_0x11e99f['remainingIds']},'warnings':_0x28aa92,'verification':verificationFromOutcome(_0x11e99f)});}let _0x410d26;try{_0x410d26=await readDeleteOutcome(_0x400113,_0x48aba9);}catch(_0x234ffa){const _0x28b8d=describeMenuErrorCause(_0x234ffa,'verify\x20batch\x20delete',_0x40ceb9),_0x94fba6=asVerificationError(_0x234ffa,'Batch\x20delete\x20request\x20for\x20menu\x20'+_0x40ceb9+_0x1278e1(0x202));throw menuFailure(_0x94fba6,_0x171a6e,{'stage':'verification','succeeded':_0x48aba9['map'](_0x1e0173=>({'id':_0x1e0173,'deleteRequested':!![]})),'failed':{'id':_0x40ceb9,'targetIds':_0x48aba9,'targetIdsAbsent':_0x1278e1(0x1ce),..._0x28b8d},'warnings':[_0x1278e1(0x1d6)],'verification':{'status':_0x1278e1(0x1a4),'lookupCommand':_0x1278e1(0x1f5),'targetIds':_0x48aba9}});}if(_0x410d26[_0x1278e1(0x1bb)]['length']>0x0){const _0x4efd27=menuError(_0x1278e1(0x215),_0x1278e1(0x1ed)+_0x410d26['remainingIds'][_0x1278e1(0x1be)](',\x20')+'.',_0x1278e1(0x1b2));throw menuFailure(_0x4efd27,_0x171a6e,{'stage':_0x1278e1(0x214),'succeeded':_0x48aba9['map'](_0x184673=>({'id':_0x184673,'deleteRequested':!![]})),'failed':{'id':_0x40ceb9,'targetIds':_0x48aba9,'absentIds':_0x410d26[_0x1278e1(0x205)],'remainingIds':_0x410d26[_0x1278e1(0x1bb)]},'warnings':[_0x1278e1(0x1b9)],'verification':verificationFromOutcome(_0x410d26)});}const _0x4024cc=_0x48aba9['map'](_0x12235c=>({'id':_0x12235c,'deleted':!![]})),_0x4c7c97=mutationResult({..._0x171a6e,'dryRun':![],'succeeded':_0x4024cc,'verification':{'checkedBy':_0x1278e1(0x20d),'plannedSnapshotHash':_0x171a6e['snapshotHash'],'finalSnapshotHash':_0x410d26[_0x1278e1(0x1b5)][_0x1278e1(0x1b4)],'reportedDeletedCount':_0x2bad0a,'targetAbsent':!_0x410d26[_0x1278e1(0x1b5)]['byId']['has'](_0x40ceb9),'allTargetsAbsent':!![],'targetIds':_0x48aba9}});return{'ok':!![],'data':_0x4c7c97,'message':_0x1278e1(0x1f8)+_0x4024cc[_0x1278e1(0x210)]+_0x1278e1(0x1a8)+_0x40ceb9+'.'};}};async function readDeleteOutcome(_0x2cb260,_0x31400c){const _0xdb65bf=a108_0x4a07ec,_0x3a1dde=await fetchMenuSnapshot(_0x2cb260[_0xdb65bf(0x1c3)],_0x2cb260[_0xdb65bf(0x1fb)]);return{'snapshot':_0x3a1dde,'absentIds':_0x31400c[_0xdb65bf(0x1f2)](_0x42801e=>!_0x3a1dde[_0xdb65bf(0x1e5)][_0xdb65bf(0x1a5)](_0x42801e)),'remainingIds':_0x31400c[_0xdb65bf(0x1f2)](_0x302db5=>_0x3a1dde[_0xdb65bf(0x1e5)][_0xdb65bf(0x1a5)](_0x302db5))};}function verificationFromOutcome(_0xe18ce9){const _0x4de9b6=a108_0x4a07ec;return{'checkedBy':_0x4de9b6(0x20d),'absentIds':_0xe18ce9['absentIds'],'remainingIds':_0xe18ce9[_0x4de9b6(0x1bb)]};}function validateDeleteDryRunInput(_0x46b29f){const _0x47b339=a108_0x4a07ec;validateExactId(_0x46b29f);if(!hasFlag(_0x46b29f,'plan-out')||!_0x46b29f['str'](_0x47b339(0x1d9))[_0x47b339(0x203)]())throw CliErrors['flagMissing'](_0x47b339(0x1d9),_0x47b339(0x1eb));if(hasFlag(_0x46b29f,'plan'))throw CliErrors[_0x47b339(0x1dd)](_0x47b339(0x1f3));}function validateDeleteExecuteInput(_0x2aa2ee){const _0x22c554=a108_0x4a07ec;if(!hasFlag(_0x2aa2ee,_0x22c554(0x1e1))||!_0x2aa2ee['str'](_0x22c554(0x1e1))[_0x22c554(0x203)]())throw CliErrors[_0x22c554(0x1a0)](_0x22c554(0x1e1),_0x22c554(0x1fc));const _0x317f7f=['id',_0x22c554(0x1ad),_0x22c554(0x1d9),_0x22c554(0x1cc),_0x22c554(0x20b),'expected-children-count'][_0x22c554(0x1f2)](_0x946893=>hasFlag(_0x2aa2ee,_0x946893));if(_0x317f7f[_0x22c554(0x210)]>0x0)throw CliErrors[_0x22c554(0x1dd)](_0x22c554(0x209)+_0x317f7f[_0x22c554(0x1ef)](_0x5a5441=>'--'+_0x5a5441)[_0x22c554(0x1be)](',\x20')+'.');}async function buildDeletePlan(_0xf225e4){const _0x488759=a108_0x4a07ec,_0x548b34=validateExactId(_0xf225e4),_0x480fd7=await fetchMutationSnapshot(_0xf225e4,_0x488759(0x1f4),_0x548b34),_0x83cd45=requireMenu(_0x480fd7,_0x548b34);assertExpectedState(_0xf225e4,_0x83cd45);const _0x28ea73=_0xf225e4[_0x488759(0x1e9)](_0x488759(0x1ad));let _0x4fadac;if(_0x28ea73){if(_0x83cd45['type'][_0x488759(0x203)]()[_0x488759(0x201)]()!==_0x488759(0x1f6))throw menuError(_0x488759(0x1e2),_0x488759(0x1d8)+_0x83cd45['id']+_0x488759(0x1bd)+(_0x83cd45[_0x488759(0x204)]||_0x488759(0x1ac))+'\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.');_0x4fadac=collectDeleteTargets(_0x480fd7,_0x83cd45),_0x4fadac[_0x488759(0x200)](_0x5e8a1a=>assertDeleteSafety(_0x5e8a1a,!![]));}else assertDeleteSafety(_0x83cd45),_0x4fadac=[_0x83cd45];assertNoSharedPages(_0x480fd7,_0x4fadac);const _0x34b821=_0x4fadac[_0x488759(0x1ef)](_0x3c2d5c=>_0x3c2d5c['id']),_0x499447=cascadeForTargets(_0x4fadac),_0x2a7eb7=_0x499447[_0x488759(0x1ca)][_0x488759(0x210)]>0x0?['Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.']:[];return mutationResult({'operation':_0x488759(0x1a9),'selector':{'id':_0x548b34,'recursive':_0x28ea73},'before':_0x83cd45,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':_0x488759(0x1df),'method':_0x488759(0x1a3),'path':_0x488759(0x1cd),'body':{'idList':_0x34b821}}],'targets':_0x4fadac,'deleteOrder':_0x34b821,'snapshotHash':_0x480fd7[_0x488759(0x1b4)],'cascade':_0x499447,'warnings':_0x2a7eb7});}function assertDeleteSafety(_0x3e4b44,_0x24fb97=![]){const _0x1f8bb5=a108_0x4a07ec,_0x1c8bd8=_0x3e4b44[_0x1f8bb5(0x204)]['trim']()[_0x1f8bb5(0x201)]()===_0x1f8bb5(0x1f6);if(_0x3e4b44['childrenCount']>0x0&&(!_0x24fb97||!_0x1c8bd8))throw menuError(_0x1f8bb5(0x1c5),_0x1f8bb5(0x1d8)+_0x3e4b44['id']+'\x20has\x20'+_0x3e4b44[_0x1f8bb5(0x1c9)]+'\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.','Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20'+_0x3e4b44[_0x1f8bb5(0x1cf)][_0x1f8bb5(0x1be)](',\x20'));if(_0x1c8bd8&&_0x3e4b44[_0x1f8bb5(0x1e6)]!=null)throw menuError(_0x1f8bb5(0x1de),_0x1f8bb5(0x1a2)+_0x3e4b44['id']+_0x1f8bb5(0x1e7)+_0x3e4b44[_0x1f8bb5(0x1e6)]+_0x1f8bb5(0x1ae),'Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.');if(!_0x1c8bd8)return;if(!_0x3e4b44[_0x1f8bb5(0x1c0)])throw menuError(_0x1f8bb5(0x20e),_0x1f8bb5(0x1a2)+_0x3e4b44['id']+_0x1f8bb5(0x1d7),_0x1f8bb5(0x1da));if(_0x3e4b44[_0x1f8bb5(0x1ee)][_0x1f8bb5(0x210)]>0x0)throw menuError(_0x1f8bb5(0x206),_0x1f8bb5(0x1a2)+_0x3e4b44['id']+'\x20still\x20references\x20'+_0x3e4b44[_0x1f8bb5(0x1ee)]['length']+_0x1f8bb5(0x1e4),_0x1f8bb5(0x1f9));}function a108_0xb4c9(_0x23de66,_0x2d9858){_0x23de66=_0x23de66-0x1a0;const _0x3c3ffb=a108_0x3c3f();let _0xb4c9f7=_0x3c3ffb[_0x23de66];return _0xb4c9f7;}function collectDeleteTargets(_0x3ba1bb,_0x506ff7){const _0x2bbfbd=[],_0x246c42=new Set(),_0x316f20=new Set(),_0x54502b=_0x346cd5=>{const _0x13c46a=a108_0xb4c9;if(_0x246c42[_0x13c46a(0x1a5)](_0x346cd5['id']))throw menuError('menu_tree_invalid','Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20'+_0x346cd5['id']+'.');if(_0x316f20['has'](_0x346cd5['id']))return;_0x246c42[_0x13c46a(0x212)](_0x346cd5['id']);for(const _0x1e1145 of _0x346cd5['childrenIds']){const _0x576823=_0x3ba1bb['byId'][_0x13c46a(0x1b8)](_0x1e1145);if(!_0x576823)throw menuError('menu_tree_invalid',_0x13c46a(0x1d8)+_0x346cd5['id']+_0x13c46a(0x216)+_0x1e1145+'.');_0x54502b(_0x576823);}_0x246c42[_0x13c46a(0x1a9)](_0x346cd5['id']),_0x316f20['add'](_0x346cd5['id']),_0x2bbfbd[_0x13c46a(0x1d5)](_0x346cd5);};return _0x54502b(_0x506ff7),_0x2bbfbd;}function assertDeleteTargetsComplete(_0x2da26b,_0x2810e2){const _0x124087=a108_0x4a07ec,_0x4ae977=requireMenu(_0x2810e2,_0x2da26b[_0x124087(0x1c6)]['id']);if(_0x2da26b[_0x124087(0x1ad)]&&_0x4ae977[_0x124087(0x204)]['trim']()[_0x124087(0x201)]()!==_0x124087(0x1f6))throw menuError(_0x124087(0x20f),_0x124087(0x208)+_0x4ae977['id']+_0x124087(0x20a));const _0x4e050c=_0x2da26b[_0x124087(0x1ad)]?collectDeleteTargets(_0x2810e2,_0x4ae977)['map'](_0x1ddb07=>_0x1ddb07['id']):[_0x4ae977['id']];if(JSON[_0x124087(0x1db)](_0x2da26b[_0x124087(0x1b3)])!==JSON[_0x124087(0x1db)](_0x4e050c))throw menuError(_0x124087(0x20f),_0x124087(0x207),'Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.');}function assertNoSharedPages(_0x1e1f1b,_0xfb2d36){const _0x1235c8=a108_0x4a07ec,_0x4e4950=new Set(_0xfb2d36[_0x1235c8(0x1ef)](_0x342855=>_0x342855['id'])),_0x20bdc6=new Set(_0xfb2d36[_0x1235c8(0x1ef)](_0x4f7377=>_0x4f7377['pageId'])[_0x1235c8(0x1f2)](_0x119432=>_0x119432!=null));if(_0x20bdc6[_0x1235c8(0x1ba)]===0x0)return;const _0x566530=_0x1e1f1b['menus'][_0x1235c8(0x1f2)](_0x5a66ba=>!_0x4e4950[_0x1235c8(0x1a5)](_0x5a66ba['id'])&&_0x5a66ba[_0x1235c8(0x1e6)]!=null&&_0x20bdc6['has'](_0x5a66ba[_0x1235c8(0x1e6)]));if(_0x566530[_0x1235c8(0x210)]===0x0)return;const _0x51c4a3=_0x566530[_0x1235c8(0x1ef)](_0x420c2d=>'page\x20'+_0x420c2d['pageId']+_0x1235c8(0x1d3)+_0x420c2d['id'])['join'](',\x20');throw menuError(_0x1235c8(0x213),'Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20'+_0x51c4a3+'.',_0x1235c8(0x1d1));}function assertCascadeMatchesPlan(_0x56bcef,_0x39da93){const _0xabac73=a108_0x4a07ec,_0x1d759e=cascadeForTargets(_0x39da93);if(JSON[_0xabac73(0x1db)](_0x56bcef[_0xabac73(0x1f0)])!==JSON[_0xabac73(0x1db)](_0x1d759e))throw menuError('menu_plan_invalid','Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.');}function cascadeForTargets(_0x1a3803){const _0x3027f0=a108_0x4a07ec,_0xf940fc=_0x1a3803['map'](_0x3301f8=>_0x3301f8['pageId'])[_0x3027f0(0x1f2)](_0xc96f51=>_0xc96f51!=null)[_0x3027f0(0x1f2)]((_0x9606d2,_0x353d60,_0x10b401)=>_0x10b401['indexOf'](_0x9606d2)===_0x353d60);return{'pages':_0xf940fc,'pageSchemaAffected':_0xf940fc[_0x3027f0(0x210)]>0x0};}function asMenuError(_0x36e4d5){const _0x39c4aa=a108_0x4a07ec;return _0x36e4d5 instanceof CliError?_0x36e4d5:menuError(_0x39c4aa(0x20f),_0x36e4d5 instanceof Error?_0x36e4d5[_0x39c4aa(0x1ff)]:String(_0x36e4d5));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a109_0x45f2a7=a109_0xe071;(function(_0x584526,_0x11fdc7){const _0x6aea30=a109_0xe071,_0x4d10e=_0x584526();while(!![]){try{const _0x34c34c=parseInt(_0x6aea30(0x1e8))/0x1+-parseInt(_0x6aea30(0x213))/0x2*(parseInt(_0x6aea30(0x1e4))/0x3)+parseInt(_0x6aea30(0x1de))/0x4*(parseInt(_0x6aea30(0x233))/0x5)+parseInt(_0x6aea30(0x1b2))/0x6+parseInt(_0x6aea30(0x1b5))/0x7*(parseInt(_0x6aea30(0x1f6))/0x8)+parseInt(_0x6aea30(0x201))/0x9*(-parseInt(_0x6aea30(0x1c0))/0xa)+-parseInt(_0x6aea30(0x1e7))/0xb;if(_0x34c34c===_0x11fdc7)break;else _0x4d10e['push'](_0x4d10e['shift']());}catch(_0x1ba131){_0x4d10e['push'](_0x4d10e['shift']());}}}(a109_0x7486,0xc5224));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,fetchMutationSnapshot,menuDryRunResult,menuError,menuFailure,mapMenuApiError,isMenuResponseLoss,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const EXTERNAL_MENU_TYPES_BY_OPEN_MODE={'embedded':a109_0x45f2a7(0x222),'new-window':a109_0x45f2a7(0x211)};export function validateExternalMenuUrl(_0x5d7423){const _0x4f2f26=a109_0x45f2a7,_0x5139ec=_0x5d7423['trim']();let _0x2e50e0;try{_0x2e50e0=new URL(_0x5139ec);}catch{throw menuError(_0x4f2f26(0x1c1),'External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.',_0x4f2f26(0x1d0));}if(_0x2e50e0[_0x4f2f26(0x1cc)]!==_0x4f2f26(0x217))throw menuError('menu_url_https_required',_0x4f2f26(0x1fb),'Provide\x20an\x20HTTPS\x20URL.');if(_0x2e50e0[_0x4f2f26(0x1f2)]||_0x2e50e0['password'])throw menuError(_0x4f2f26(0x1b4),_0x4f2f26(0x21c),_0x4f2f26(0x1da));return _0x5139ec;}export const menuExternalLinkCreate={'service':a109_0x45f2a7(0x1c7),'command':a109_0x45f2a7(0x226),'description':'Create\x20an\x20external\x20website\x20link\x20menu','risk':'write','structuredErrors':!![],'flags':[{'name':a109_0x45f2a7(0x239),'type':a109_0x45f2a7(0x21e),'required':!![],'description':a109_0x45f2a7(0x1ae)},{'name':a109_0x45f2a7(0x1ac),'type':a109_0x45f2a7(0x21e),'required':!![],'enum':['embedded',a109_0x45f2a7(0x22c)],'description':a109_0x45f2a7(0x1f9)},{'name':a109_0x45f2a7(0x21d),'type':a109_0x45f2a7(0x21e),'required':!![],'description':a109_0x45f2a7(0x1e2)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a109_0x45f2a7(0x1e5),'type':a109_0x45f2a7(0x1eb),'default':!![],'description':a109_0x45f2a7(0x1fa)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x18270f){validateAddInput(_0x18270f);},async 'dryRun'(_0x3d1918){const _0x4e5721=a109_0x45f2a7;validateAddInput(_0x3d1918);const {plan:_0x40f0a7}=await buildSafeAddPlan(_0x3d1918,!![]),_0x207f76=_0x40f0a7[_0x4e5721(0x1cb)],_0xcd60da=createBody(_0x207f76);return menuDryRunResult(_0x40f0a7,{'method':_0x4e5721(0x1b7),'url':'/smartapi/menu/create','body':_0xcd60da,'description':_0x4e5721(0x20a)+JSON[_0x4e5721(0x1bc)](_0x207f76[_0x4e5721(0x239)])+_0x4e5721(0x230)+_0x3d1918[_0x4e5721(0x1c4)](_0x4e5721(0x1ac))+_0x4e5721(0x20d)});},async 'execute'(_0x46731a){const _0x1b096a=a109_0x45f2a7;validateAddInput(_0x46731a);const _0x1f0562=await buildSafeAddPlan(_0x46731a,![]),{plan:_0x494762,snapshot:_0x5bfea7}=_0x1f0562,_0x38b918=_0x494762[_0x1b096a(0x1cb)],_0x53f074=buildMenuLookupCommand(_0x46731a[_0x1b096a(0x228)]);await recheckAddSnapshot(_0x46731a,_0x494762);let _0x49a6f6;try{_0x49a6f6=await createMenuEntity(_0x46731a[_0x1b096a(0x228)],_0x46731a['cookie'],createBody(_0x38b918));}catch(_0x25060d){const _0x2e69ba=mapMenuApiError(_0x25060d,'create\x20external\x20menu');if(!isMenuResponseLoss(_0x25060d)||_0x2e69ba[_0x1b096a(0x1f0)]===_0x1b096a(0x1c2))throw externalLinkCreateFailure(_0x2e69ba,_0x494762,{'stage':'create','failed':{},'verification':{'status':_0x1b096a(0x1e9),'lookupCommand':_0x53f074}});return recoverAfterResponseLoss(_0x46731a,_0x1f0562,_0x53f074);}const _0x1a0146=Number(_0x49a6f6?.['id']),_0x5dd5da=typeof _0x49a6f6?.[_0x1b096a(0x237)]==='string'?_0x49a6f6[_0x1b096a(0x237)]:'';if(!Number[_0x1b096a(0x1d3)](_0x1a0146)||_0x1a0146<=0x0||!_0x5dd5da['trim']()){const _0x13b312=menuError('menu_create_response_invalid',_0x1b096a(0x1f7),'Run\x20'+_0x53f074+_0x1b096a(0x200));throw externalLinkCreateFailure(_0x13b312,_0x494762,{'stage':'create-response-validation','succeeded':Number[_0x1b096a(0x1d3)](_0x1a0146)&&_0x1a0146>0x0?[{'id':_0x1a0146,'created':!![]}]:[],'failed':{'createdId':Number[_0x1b096a(0x1d3)](_0x1a0146)?_0x1a0146:null,'generatedPathConfirmed':Boolean(_0x5dd5da['trim']())},'warnings':['The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.'],'after':Number[_0x1b096a(0x1d3)](_0x1a0146)&&_0x1a0146>0x0?{..._0x38b918,'id':_0x1a0146,'path':_0x5dd5da}:_0x38b918,'verification':{'status':_0x1b096a(0x1e9),'lookupCommand':_0x53f074,...Number['isSafeInteger'](_0x1a0146)&&_0x1a0146>0x0?{'targetId':_0x1a0146}:{}}});}const _0x50b416=await readAndVerifyCreatedMenu({'appCode':_0x46731a[_0x1b096a(0x228)],'cookie':_0x46731a[_0x1b096a(0x1be)],'plan':_0x494762,'afterPlan':_0x38b918,'createdId':_0x1a0146,'expectedPath':_0x5dd5da,'lookupCommand':_0x53f074,'recovered':![]});return creationSuccess(_0x494762,_0x50b416['snapshot'],_0x50b416['fact'],![]);}};function validateAddInput(_0x202ea6){const _0x4c41e1=a109_0x45f2a7;if(!_0x202ea6[_0x4c41e1(0x1c4)](_0x4c41e1(0x239))[_0x4c41e1(0x1df)]())throw CliErrors[_0x4c41e1(0x1c8)](_0x4c41e1(0x239));resolveExternalMenuType(_0x202ea6),validateExternalMenuUrl(_0x202ea6[_0x4c41e1(0x1c4)](_0x4c41e1(0x21d))),parseParentId(_0x202ea6,_0x4c41e1(0x232)),validateSort(_0x202ea6);}function resolveExternalMenuType(_0x471414){const _0xd07182=a109_0x45f2a7,_0x9d6c50=_0x471414[_0xd07182(0x1c4)]('open-mode')[_0xd07182(0x1df)]();if(!_0x9d6c50)throw CliErrors[_0xd07182(0x1c8)](_0xd07182(0x1ac));const _0x5f4470=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x9d6c50];if(!_0x5f4470)throw menuError('menu_open_mode_invalid',_0xd07182(0x205),_0xd07182(0x1e6));return _0x5f4470;}async function buildAddPlan(_0x109b8d,_0x48b213){const _0x1f0579=a109_0x45f2a7,_0x415b54=await fetchMutationSnapshot(_0x109b8d,_0x1f0579(0x1ff)),_0x2282cd=parseParentId(_0x109b8d,_0x1f0579(0x232))??null;if(_0x2282cd!=null)requireFolder(_0x415b54,_0x2282cd);const _0x3590c9=validateSort(_0x109b8d),_0xfb2813=_0x3590c9??nextSiblingSort(_0x415b54,_0x2282cd,_0x1f0579(0x1c7)),_0x1fb4e8=_0x109b8d[_0x1f0579(0x1c4)](_0x1f0579(0x239))['trim'](),_0x3df632=resolveExternalMenuType(_0x109b8d),_0x525063=validateExternalMenuUrl(_0x109b8d[_0x1f0579(0x1c4)]('url')),_0x4f6ef4=Object[_0x1f0579(0x1ee)][_0x1f0579(0x1d4)][_0x1f0579(0x209)](_0x109b8d[_0x1f0579(0x234)],_0x1f0579(0x1e5))?_0x109b8d[_0x1f0579(0x206)](_0x1f0579(0x1e5)):!![],_0x4bebb9={'id':null,'parentId':_0x2282cd,'label':_0x1fb4e8,'path':_0x1f0579(0x1e1),'url':_0x525063,'type':_0x3df632,'visible':_0x4f6ef4,'sort':_0xfb2813},_0x5c1e21=buildMenuLookupCommand(_0x109b8d[_0x1f0579(0x228)]),_0x5ac41a=mutationResult({'operation':_0x1f0579(0x1d1),'selector':{'parentId':_0x2282cd,'type':_0x3df632,'label':_0x1fb4e8,'url':_0x525063},'before':null,'after':_0x4bebb9,'dryRun':_0x48b213,'backend':[{'method':_0x1f0579(0x1b7),'path':_0x1f0579(0x215)}],'plannedActions':[{'stage':_0x1f0579(0x1c6),'method':_0x1f0579(0x1b7),'path':_0x1f0579(0x215),'body':createBody(_0x4bebb9)}],'snapshotHash':_0x415b54['hash'],'warnings':[_0x1f0579(0x238)],'verification':{'lookupCommand':_0x5c1e21}});return{'plan':_0x5ac41a,'snapshot':_0x415b54};}async function buildSafeAddPlan(_0x4e43dc,_0xd95bb1){try{return await buildAddPlan(_0x4e43dc,_0xd95bb1);}catch(_0x537d3d){throw safeMenuAddError(_0x537d3d);}}async function recheckAddSnapshot(_0x1c6e7c,_0x397818){const _0x3ffa77=a109_0x45f2a7;try{await recheckMutationSnapshot(_0x1c6e7c,_0x397818,_0x3ffa77(0x1ff));}catch(_0xbc7113){const _0x51840e=getFailureRecord(_0xbc7113);throw externalLinkCreateFailure(_0xbc7113,_0x397818,{'stage':_0x3ffa77(0x212),'failed':{..._0x51840e?.[_0x3ffa77(0x1af)]?{'expectedSnapshotHash':_0x51840e[_0x3ffa77(0x1af)]}:{},..._0x51840e?.[_0x3ffa77(0x1d2)]?{'currentSnapshotHash':_0x51840e[_0x3ffa77(0x1d2)]}:{}}});}}function a109_0x7486(){const _0x3f4094=['appCode','sort','<redacted>','fromEntries','new-window','hash','\x27\x5c\x27\x27','get','\x20with\x20','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','parent-id','137615rMDGiX','rawFlags','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','data','path','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','label','parent','open-mode','object','Menu\x20label','expectedSnapshotHash','body','\x20after\x20response\x20loss.','6123408VsRkrn','\x20failed\x20final\x20verification.','menu_url_credentials_forbidden','7BWAbwu','\x20could\x20not\x20be\x20verified.','POST','menu_sort_invalid','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','expectedPath','isArray','stringify','menu_not_found','cookie','replace','1365470Olnvnr','menu_url_invalid','menu_permission_denied','\x20has\x20an\x20unexpected\x20','str','type','create-menu','menu','flagMissing','menu_verification_failed','menu_parent_not_folder','after','protocol','\x20--format\x20compress','lookupCommand','Recovered\x20created\x20external\x20menu\x20','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','add','currentSnapshotHash','isSafeInteger','hasOwnProperty','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','menu\x20list','Run\x20','entries','includes','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','recovered','length','verification','36lLphvO','trim','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','<platform-generated>','External\x20HTTPS\x20URL','byId','1917DGliVG','visible','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','7019683hXRpZc','1245624rPNAiW','failed','URL','boolean','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','prototype','cause','code','Recovered\x20menu\x20','username','map','afterPlan','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','10619272zhtVuH','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','has','How\x20to\x20open\x20the\x20external\x20website','Whether\x20the\x20menu\x20is\x20visible','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','createdId','visibility','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','create\x20external\x20menu','\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.','54CIqfSw','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','causemessage','readbackerror','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','bool','menu_sort_overflow','plan','call','Would\x20create\x20external\x20website\x20link\x20menu\x20','parentId','succeeded','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','\x20has\x20an\x20unexpected\x20generated\x20path.','link','pre-write-recheck','4934GuOzCw','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','/smartapi/menu/create','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','https:','plannedActions','filter','Created\x20menu\x20','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','url','string','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','menu_mutation_failed','selector','iframe','before','External\x20menu\x20creation\x20failed.','rabetbase\x20menu\x20list\x20--appcode\x20','external-link-create','Menu\x20'];a109_0x7486=function(){return _0x3f4094;};return a109_0x7486();}function createBody(_0x51405b){const _0x24aa28=a109_0x45f2a7;return{'parentId':toApiParentId(_0x51405b['parentId']),'label':String(_0x51405b['label']),'type':String(_0x51405b[_0x24aa28(0x1c5)]),'url':String(_0x51405b[_0x24aa28(0x21d)]),'visible':Boolean(_0x51405b[_0x24aa28(0x1e5)]),'sort':Number(_0x51405b[_0x24aa28(0x229)]),'extend':{}};}function buildMenuLookupCommand(_0x5725fe){const _0x61e18d=a109_0x45f2a7,_0x7a6b3d='\x27'+_0x5725fe['replace'](/'/g,_0x61e18d(0x22e))+'\x27';return _0x61e18d(0x225)+_0x7a6b3d+_0x61e18d(0x1cd);}async function recoverAfterResponseLoss(_0x25965d,_0x543cb3,_0x14e3bd){const _0x2d2078=a109_0x45f2a7,{plan:_0x461b94,snapshot:_0x48a914}=_0x543cb3,_0x338b2d=_0x461b94['after'];let _0x5ae156;try{_0x5ae156=await fetchMenuSnapshot(_0x25965d[_0x2d2078(0x228)],_0x25965d[_0x2d2078(0x1be)]);}catch(_0x42320f){throw recoveryRequiredFailure(_0x461b94,_0x14e3bd,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0xd36560=_0x5ae156['menus'][_0x2d2078(0x219)](_0x2053b9=>_0x2053b9[_0x2d2078(0x20b)]===_0x338b2d[_0x2d2078(0x20b)]&&_0x2053b9[_0x2d2078(0x1c5)]===_0x338b2d[_0x2d2078(0x1c5)]&&_0x2053b9['label']===_0x338b2d[_0x2d2078(0x239)]&&_0x2053b9[_0x2d2078(0x21d)]===_0x338b2d['url']),_0x563769=_0xd36560[_0x2d2078(0x219)](_0x3d17e7=>!_0x48a914[_0x2d2078(0x1e3)][_0x2d2078(0x1f8)](_0x3d17e7['id'])),_0x4871a5=_0xd36560[_0x2d2078(0x219)](_0x520439=>_0x48a914['byId']['has'](_0x520439['id']));if(_0xd36560[_0x2d2078(0x1dc)]!==0x1||_0x563769[_0x2d2078(0x1dc)]!==0x1)throw recoveryRequiredFailure(_0x461b94,_0x14e3bd,{'matchCount':_0xd36560['length'],'newMatchCount':_0x563769[_0x2d2078(0x1dc)],'preexistingMatchCount':_0x4871a5['length']});const _0x361bbd=_0x563769[0x0];try{verifyCreatedFact(_0x361bbd,_0x361bbd['id'],_0x338b2d,null);}catch(_0x1ae62b){const _0x20c618=_0x1ae62b instanceof Error&&_0x2d2078(0x1f0)in _0x1ae62b?_0x1ae62b:menuError(_0x2d2078(0x1c9),_0x2d2078(0x1f1)+_0x361bbd['id']+_0x2d2078(0x1b6),'Run\x20'+_0x14e3bd+_0x2d2078(0x1ed));throw externalLinkCreateFailure(_0x20c618,_0x461b94,{'stage':_0x2d2078(0x1dd),'succeeded':[{'id':_0x361bbd['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x361bbd['id'],'finalFactsConfirmed':![]},'after':_0x361bbd,'warnings':[_0x2d2078(0x227)+_0x361bbd['id']+_0x2d2078(0x1fe)],'verification':{'status':_0x2d2078(0x1e9),'targetId':_0x361bbd['id'],'recovered':!![],'lookupCommand':_0x14e3bd}});}return creationSuccess(_0x461b94,_0x5ae156,_0x361bbd,!![]);}function recoveryRequiredFailure(_0x5c5e37,_0x296d1e,_0x62b9e){const _0x20cc0a=a109_0x45f2a7,_0x20b984=menuError('menu_create_recovery_required',_0x20cc0a(0x1d5),_0x20cc0a(0x1d7)+_0x296d1e+'\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.');return externalLinkCreateFailure(_0x20b984,_0x5c5e37,{'stage':'create-recovery','failed':_0x62b9e,'warnings':[_0x20cc0a(0x1b9)],'verification':{'status':'failed',..._0x62b9e,'lookupCommand':_0x296d1e}});}async function readAndVerifyCreatedMenu(_0x33a1bb){const _0x172d58=a109_0x45f2a7;let _0x8daec;try{_0x8daec=await fetchMenuSnapshot(_0x33a1bb['appCode'],_0x33a1bb['cookie']);}catch(_0x15d54b){const _0x3f94e5=menuError(_0x172d58(0x1c9),_0x172d58(0x227)+_0x33a1bb['createdId']+_0x172d58(0x202),'Run\x20'+_0x33a1bb[_0x172d58(0x1ce)]+_0x172d58(0x21b));throw externalLinkCreateFailure(_0x3f94e5,_0x33a1bb[_0x172d58(0x208)],{'stage':_0x172d58(0x1dd),'succeeded':[{'id':_0x33a1bb[_0x172d58(0x1fc)],'created':!![]}],'failed':{'id':_0x33a1bb[_0x172d58(0x1fc)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x33a1bb[_0x172d58(0x1f4)],'id':_0x33a1bb[_0x172d58(0x1fc)],'path':_0x33a1bb[_0x172d58(0x1ba)]},'warnings':['Menu\x20'+_0x33a1bb[_0x172d58(0x1fc)]+'\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.'],'verification':{'status':_0x172d58(0x1e9),'targetId':_0x33a1bb['createdId'],'lookupCommand':_0x33a1bb[_0x172d58(0x1ce)]}});}const _0x28faea=_0x8daec[_0x172d58(0x1e3)][_0x172d58(0x22f)](_0x33a1bb[_0x172d58(0x1fc)]);try{if(!_0x28faea)throw menuError(_0x172d58(0x1c9),'Created\x20menu\x20'+_0x33a1bb[_0x172d58(0x1fc)]+_0x172d58(0x1f5),_0x172d58(0x1d7)+_0x33a1bb['lookupCommand']+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');verifyCreatedFact(_0x28faea,_0x33a1bb[_0x172d58(0x1fc)],_0x33a1bb[_0x172d58(0x1f4)],_0x33a1bb[_0x172d58(0x1ba)]);}catch(_0x2f1698){const _0x4bb101=_0x2f1698 instanceof Error&&_0x172d58(0x1f0)in _0x2f1698?_0x2f1698:menuError(_0x172d58(0x1c9),_0x172d58(0x21a)+_0x33a1bb[_0x172d58(0x1fc)]+_0x172d58(0x1b3),_0x172d58(0x1d7)+_0x33a1bb[_0x172d58(0x1ce)]+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x4bb101,_0x33a1bb[_0x172d58(0x208)],{'stage':_0x172d58(0x1dd),'succeeded':[{'id':_0x33a1bb['createdId'],'created':!![]}],'failed':{'id':_0x33a1bb[_0x172d58(0x1fc)],'finalFactsConfirmed':![]},'after':_0x28faea??{..._0x33a1bb[_0x172d58(0x1f4)],'id':_0x33a1bb['createdId'],'path':_0x33a1bb[_0x172d58(0x1ba)]},'warnings':['Menu\x20'+_0x33a1bb['createdId']+'\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.'],'verification':{'status':'failed','targetId':_0x33a1bb[_0x172d58(0x1fc)],'recovered':_0x33a1bb[_0x172d58(0x1db)],'lookupCommand':_0x33a1bb[_0x172d58(0x1ce)]}});}return{'snapshot':_0x8daec,'fact':_0x28faea};}function verifyCreatedFact(_0x11444c,_0x5b06ce,_0x50c6c6,_0x22162f){const _0x563037=a109_0x45f2a7;if(!Number[_0x563037(0x1d3)](_0x11444c['id'])||_0x11444c['id']<=0x0||_0x11444c['id']!==_0x5b06ce)throw menuError(_0x563037(0x1c9),'Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.',_0x563037(0x21f));const _0x4b50c7=[[_0x563037(0x1ab),_0x11444c[_0x563037(0x20b)],_0x50c6c6[_0x563037(0x20b)]],[_0x563037(0x1c5),_0x11444c[_0x563037(0x1c5)],_0x50c6c6[_0x563037(0x1c5)]],[_0x563037(0x239),_0x11444c[_0x563037(0x239)],_0x50c6c6['label']],[_0x563037(0x1ea),_0x11444c[_0x563037(0x21d)],_0x50c6c6['url']],[_0x563037(0x1fd),_0x11444c[_0x563037(0x1e5)],_0x50c6c6[_0x563037(0x1e5)]],[_0x563037(0x229),_0x11444c[_0x563037(0x229)],_0x50c6c6[_0x563037(0x229)]]];for(const [_0x4a683d,_0x1a6f34,_0x12bfdc]of _0x4b50c7){if(_0x1a6f34!==_0x12bfdc)throw menuError(_0x563037(0x1c9),_0x563037(0x21a)+_0x11444c['id']+_0x563037(0x1c3)+_0x4a683d+'.','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.');}if(!_0x11444c[_0x563037(0x237)]['trim']()||_0x22162f!==null&&_0x11444c[_0x563037(0x237)]!==_0x22162f)throw menuError(_0x563037(0x1c9),_0x563037(0x21a)+_0x11444c['id']+_0x563037(0x210),_0x563037(0x1e0));}function a109_0xe071(_0x2a6040,_0xb3f242){_0x2a6040=_0x2a6040-0x1ab;const _0x7486bd=a109_0x7486();let _0xe07185=_0x7486bd[_0x2a6040];return _0xe07185;}function creationSuccess(_0x30d098,_0x4c1428,_0x2f2723,_0x5cef37){const _0x44e350=a109_0x45f2a7,_0x456670=mutationResult({..._0x30d098,'after':_0x2f2723,'dryRun':![],'succeeded':[{'id':_0x2f2723['id'],'created':!![],'recovered':_0x5cef37}],'verification':{'checkedBy':_0x44e350(0x1d6),'snapshotHash':_0x4c1428[_0x44e350(0x22d)],'targetId':_0x2f2723['id'],'recovered':_0x5cef37,'path':_0x2f2723[_0x44e350(0x237)]}});return{'ok':!![],'message':_0x5cef37?_0x44e350(0x1cf)+_0x2f2723['id']+_0x44e350(0x1b1):'Created\x20external\x20menu\x20'+_0x2f2723['id']+'.','data':{..._0x456670,'recovered':_0x5cef37}};}function externalLinkCreateFailure(_0x2964ba,_0xd75c75,_0x14ca65){const _0x27d049=a109_0x45f2a7;return menuFailure(safeMenuAddError(_0x2964ba),redactFailurePlan(_0xd75c75),{..._0x14ca65,'succeeded':_0x14ca65['succeeded']?.[_0x27d049(0x1f3)](redactFailureRecord),'failed':_0x14ca65[_0x27d049(0x1e9)]?redactFailureRecord(_0x14ca65['failed']):undefined,'verification':_0x14ca65['verification']?redactFailureRecord(_0x14ca65[_0x27d049(0x1dd)]):undefined,'after':_0x14ca65[_0x27d049(0x1cb)]===undefined?undefined:redactFailureValue(_0x14ca65[_0x27d049(0x1cb)])});}function redactFailurePlan(_0x5e7e00){const _0x2ac5aa=a109_0x45f2a7;return{..._0x5e7e00,'selector':redactFailureRecord(_0x5e7e00[_0x2ac5aa(0x221)]),'before':redactFailureValue(_0x5e7e00[_0x2ac5aa(0x223)]),'after':redactFailureValue(_0x5e7e00[_0x2ac5aa(0x1cb)]),'plannedActions':_0x5e7e00[_0x2ac5aa(0x218)]?.['map'](_0x128fe9=>({..._0x128fe9,'body':redactFailureRecord(_0x128fe9[_0x2ac5aa(0x1b0)])})),'succeeded':_0x5e7e00[_0x2ac5aa(0x20c)]['map'](redactFailureRecord),'failed':_0x5e7e00[_0x2ac5aa(0x1e9)][_0x2ac5aa(0x1f3)](redactFailureRecord),'verification':_0x5e7e00[_0x2ac5aa(0x1dd)]?redactFailureRecord(_0x5e7e00[_0x2ac5aa(0x1dd)]):undefined};}function redactFailureRecord(_0x37e1ce){return redactFailureValue(_0x37e1ce);}function redactFailureValue(_0x14b36b,_0x59b1d5=''){const _0x42968d=a109_0x45f2a7,_0x4dcf4a=_0x59b1d5['toLowerCase']()[_0x42968d(0x1bf)](/[^a-z0-9]/g,'');if([_0x42968d(0x1ef),_0x42968d(0x203),_0x42968d(0x204),'rawerror'][_0x42968d(0x1d9)](_0x4dcf4a))return _0x42968d(0x22a);if(Array[_0x42968d(0x1bb)](_0x14b36b))return _0x14b36b[_0x42968d(0x1f3)](_0x30754e=>redactFailureValue(_0x30754e));if(_0x14b36b&&typeof _0x14b36b===_0x42968d(0x1ad))return Object[_0x42968d(0x22b)](Object[_0x42968d(0x1d8)](_0x14b36b)[_0x42968d(0x1f3)](([_0x536478,_0xcb8e0])=>[_0x536478,redactFailureValue(_0xcb8e0,_0x536478)]));return _0x14b36b;}function safeMenuAddError(_0x1480f6){const _0x368a0e=a109_0x45f2a7,_0xcf23ee=_0x1480f6 instanceof CliError?_0x1480f6[_0x368a0e(0x1f0)]:_0x368a0e(0x220);switch(_0xcf23ee){case'menu_state_drift':return menuError(_0xcf23ee,_0x368a0e(0x216),_0x368a0e(0x214));case _0x368a0e(0x1c2):return menuError(_0xcf23ee,'Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.',_0x368a0e(0x20f));case'menu_create_response_invalid':return menuError(_0xcf23ee,'Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.',_0x368a0e(0x231));case'menu_verification_failed':return menuError(_0xcf23ee,_0x368a0e(0x1ec),_0x368a0e(0x231));case'menu_create_recovery_required':return menuError(_0xcf23ee,'The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.',_0x368a0e(0x235));case _0x368a0e(0x220):case _0x368a0e(0x1bd):case _0x368a0e(0x1ca):case _0x368a0e(0x1b8):case _0x368a0e(0x207):return menuError(_0xcf23ee,_0x368a0e(0x224),_0x368a0e(0x20e));default:return menuError(_0x368a0e(0x220),_0x368a0e(0x224),_0x368a0e(0x20e));}}function getFailureRecord(_0x388144){const _0x3162df=a109_0x45f2a7;if(!(_0x388144 instanceof Error)||!(_0x3162df(0x236)in _0x388144))return undefined;const _0x2767d8=_0x388144[_0x3162df(0x236)];if(!_0x2767d8||typeof _0x2767d8!==_0x3162df(0x1ad))return undefined;const _0x486ba2=_0x2767d8[_0x3162df(0x1e9)];if(!Array[_0x3162df(0x1bb)](_0x486ba2)||!_0x486ba2[0x0]||typeof _0x486ba2[0x0]!==_0x3162df(0x1ad))return undefined;return _0x486ba2[0x0];}
|
|
1
|
+
const a109_0x4a22bb=a109_0xa36e;(function(_0x2c7f8c,_0x1755ed){const _0x3f8198=a109_0xa36e,_0x28f745=_0x2c7f8c();while(!![]){try{const _0x82cb28=parseInt(_0x3f8198(0x156))/0x1*(parseInt(_0x3f8198(0x16c))/0x2)+parseInt(_0x3f8198(0x139))/0x3+parseInt(_0x3f8198(0xfc))/0x4+parseInt(_0x3f8198(0x113))/0x5+parseInt(_0x3f8198(0x13b))/0x6*(-parseInt(_0x3f8198(0x128))/0x7)+parseInt(_0x3f8198(0x15a))/0x8+-parseInt(_0x3f8198(0xf2))/0x9;if(_0x82cb28===_0x1755ed)break;else _0x28f745['push'](_0x28f745['shift']());}catch(_0x147a0e){_0x28f745['push'](_0x28f745['shift']());}}}(a109_0x110f,0x81d8b));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,fetchMutationSnapshot,menuDryRunResult,menuError,menuFailure,mapMenuApiError,isMenuResponseLoss,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const EXTERNAL_MENU_TYPES_BY_OPEN_MODE={'embedded':a109_0x4a22bb(0x122),'new-window':a109_0x4a22bb(0x17e)};export function validateExternalMenuUrl(_0xefd5f7){const _0x2226c3=a109_0x4a22bb,_0x4ff90e=_0xefd5f7[_0x2226c3(0x14b)]();let _0x1525ce;try{_0x1525ce=new URL(_0x4ff90e);}catch{throw menuError('menu_url_invalid',_0x2226c3(0x158),'Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.');}if(_0x1525ce[_0x2226c3(0x10e)]!==_0x2226c3(0x166))throw menuError(_0x2226c3(0x109),'External\x20menu\x20URL\x20must\x20use\x20HTTPS.','Provide\x20an\x20HTTPS\x20URL.');if(_0x1525ce[_0x2226c3(0x157)]||_0x1525ce[_0x2226c3(0x144)])throw menuError(_0x2226c3(0x155),_0x2226c3(0x117),_0x2226c3(0x12a));return _0x4ff90e;}export const menuExternalLinkCreate={'service':'menu','command':a109_0x4a22bb(0x13c),'description':'Create\x20an\x20external\x20website\x20link\x20menu','risk':a109_0x4a22bb(0x14c),'structuredErrors':!![],'flags':[{'name':a109_0x4a22bb(0x136),'type':a109_0x4a22bb(0x151),'required':!![],'description':a109_0x4a22bb(0x12b)},{'name':'open-mode','type':'string','required':!![],'enum':[a109_0x4a22bb(0x172),a109_0x4a22bb(0x183)],'description':a109_0x4a22bb(0xf5)},{'name':a109_0x4a22bb(0xf9),'type':'string','required':!![],'description':'External\x20HTTPS\x20URL'},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a109_0x4a22bb(0x163),'type':a109_0x4a22bb(0x11d),'default':!![],'description':a109_0x4a22bb(0x121)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0xabcc3d){validateAddInput(_0xabcc3d);},async 'dryRun'(_0x1e2d77){const _0x21ad79=a109_0x4a22bb;validateAddInput(_0x1e2d77);const {plan:_0x516833}=await buildSafeAddPlan(_0x1e2d77,!![]),_0x2745aa=_0x516833[_0x21ad79(0x15e)],_0x2ace42=createBody(_0x2745aa);return menuDryRunResult(_0x516833,{'method':'POST','url':'/smartapi/menu/create','body':_0x2ace42,'description':_0x21ad79(0x14d)+JSON[_0x21ad79(0x177)](_0x2745aa[_0x21ad79(0x136)])+_0x21ad79(0x112)+_0x1e2d77[_0x21ad79(0x132)](_0x21ad79(0xf6))+_0x21ad79(0x15c)});},async 'execute'(_0x36a2f6){const _0xd739f7=a109_0x4a22bb;validateAddInput(_0x36a2f6);const _0x59d952=await buildSafeAddPlan(_0x36a2f6,![]),{plan:_0x36ceef,snapshot:_0x41bcb4}=_0x59d952,_0x5eee05=_0x36ceef[_0xd739f7(0x15e)],_0x521c91=buildMenuLookupCommand(_0x36a2f6[_0xd739f7(0xfb)]);await recheckAddSnapshot(_0x36a2f6,_0x36ceef);let _0xd14b91;try{_0xd14b91=await createMenuEntity(_0x36a2f6[_0xd739f7(0xfb)],_0x36a2f6[_0xd739f7(0x126)],createBody(_0x5eee05));}catch(_0x2d8078){const _0x58c397=mapMenuApiError(_0x2d8078,_0xd739f7(0x160));if(!isMenuResponseLoss(_0x2d8078)||_0x58c397[_0xd739f7(0x10d)]===_0xd739f7(0xf0))throw externalLinkCreateFailure(_0x58c397,_0x36ceef,{'stage':_0xd739f7(0x180),'failed':{},'verification':{'status':_0xd739f7(0x11b),'lookupCommand':_0x521c91}});return recoverAfterResponseLoss(_0x36a2f6,_0x59d952,_0x521c91);}const _0x33b391=Number(_0xd14b91?.['id']),_0x24dfc7=typeof _0xd14b91?.['path']===_0xd739f7(0x151)?_0xd14b91[_0xd739f7(0x165)]:'';if(!Number[_0xd739f7(0x159)](_0x33b391)||_0x33b391<=0x0||!_0x24dfc7['trim']()){const _0x476a6a=menuError('menu_create_response_invalid',_0xd739f7(0x16d),'Run\x20'+_0x521c91+'\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.');throw externalLinkCreateFailure(_0x476a6a,_0x36ceef,{'stage':_0xd739f7(0x110),'succeeded':Number['isSafeInteger'](_0x33b391)&&_0x33b391>0x0?[{'id':_0x33b391,'created':!![]}]:[],'failed':{'createdId':Number[_0xd739f7(0x159)](_0x33b391)?_0x33b391:null,'generatedPathConfirmed':Boolean(_0x24dfc7['trim']())},'warnings':[_0xd739f7(0xfa)],'after':Number['isSafeInteger'](_0x33b391)&&_0x33b391>0x0?{..._0x5eee05,'id':_0x33b391,'path':_0x24dfc7}:_0x5eee05,'verification':{'status':_0xd739f7(0x11b),'lookupCommand':_0x521c91,...Number[_0xd739f7(0x159)](_0x33b391)&&_0x33b391>0x0?{'targetId':_0x33b391}:{}}});}const _0x1693c9=await readAndVerifyCreatedMenu({'appCode':_0x36a2f6[_0xd739f7(0xfb)],'cookie':_0x36a2f6[_0xd739f7(0x126)],'plan':_0x36ceef,'afterPlan':_0x5eee05,'createdId':_0x33b391,'expectedPath':_0x24dfc7,'lookupCommand':_0x521c91,'recovered':![]});return creationSuccess(_0x36ceef,_0x1693c9[_0xd739f7(0x12e)],_0x1693c9['fact'],![]);}};function validateAddInput(_0x3a219c){const _0x155967=a109_0x4a22bb;if(!_0x3a219c[_0x155967(0x132)](_0x155967(0x136))['trim']())throw CliErrors[_0x155967(0x103)](_0x155967(0x136));resolveExternalMenuType(_0x3a219c),validateExternalMenuUrl(_0x3a219c['str'](_0x155967(0xf9))),parseParentId(_0x3a219c,'parent-id'),validateSort(_0x3a219c);}function resolveExternalMenuType(_0x78a0bd){const _0x56e6b0=a109_0x4a22bb,_0x157f63=_0x78a0bd[_0x56e6b0(0x132)](_0x56e6b0(0xf6))[_0x56e6b0(0x14b)]();if(!_0x157f63)throw CliErrors[_0x56e6b0(0x103)]('open-mode');const _0x14a404=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x157f63];if(!_0x14a404)throw menuError(_0x56e6b0(0x100),_0x56e6b0(0x171),_0x56e6b0(0x130));return _0x14a404;}async function buildAddPlan(_0x193392,_0x4ff97e){const _0x2734c2=a109_0x4a22bb,_0x2c65b1=await fetchMutationSnapshot(_0x193392,_0x2734c2(0x160)),_0xae3942=parseParentId(_0x193392,_0x2734c2(0x174))??null;if(_0xae3942!=null)requireFolder(_0x2c65b1,_0xae3942);const _0x9d48d2=validateSort(_0x193392),_0x1aaf56=_0x9d48d2??nextSiblingSort(_0x2c65b1,_0xae3942,'menu'),_0x26c99a=_0x193392[_0x2734c2(0x132)](_0x2734c2(0x136))[_0x2734c2(0x14b)](),_0x84277d=resolveExternalMenuType(_0x193392),_0x157e39=validateExternalMenuUrl(_0x193392[_0x2734c2(0x132)]('url')),_0x253514=Object['prototype'][_0x2734c2(0x153)][_0x2734c2(0x17c)](_0x193392[_0x2734c2(0x181)],_0x2734c2(0x163))?_0x193392[_0x2734c2(0x13e)]('visible'):!![],_0x4b9baa={'id':null,'parentId':_0xae3942,'label':_0x26c99a,'path':_0x2734c2(0x14f),'url':_0x157e39,'type':_0x84277d,'visible':_0x253514,'sort':_0x1aaf56},_0x132d33=buildMenuLookupCommand(_0x193392[_0x2734c2(0xfb)]),_0x2b33f9=mutationResult({'operation':_0x2734c2(0x152),'selector':{'parentId':_0xae3942,'type':_0x84277d,'label':_0x26c99a,'url':_0x157e39},'before':null,'after':_0x4b9baa,'dryRun':_0x4ff97e,'backend':[{'method':'POST','path':_0x2734c2(0x15b)}],'plannedActions':[{'stage':_0x2734c2(0x10c),'method':_0x2734c2(0x138),'path':_0x2734c2(0x15b),'body':createBody(_0x4b9baa)}],'snapshotHash':_0x2c65b1[_0x2734c2(0x137)],'warnings':['The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.'],'verification':{'lookupCommand':_0x132d33}});return{'plan':_0x2b33f9,'snapshot':_0x2c65b1};}async function buildSafeAddPlan(_0x526ef8,_0x41877e){try{return await buildAddPlan(_0x526ef8,_0x41877e);}catch(_0x5d6c61){throw safeMenuAddError(_0x5d6c61);}}async function recheckAddSnapshot(_0x15989f,_0x72966){const _0x2a4d22=a109_0x4a22bb;try{await recheckMutationSnapshot(_0x15989f,_0x72966,_0x2a4d22(0x160));}catch(_0x32ae58){const _0x1e81e4=getFailureRecord(_0x32ae58);throw externalLinkCreateFailure(_0x32ae58,_0x72966,{'stage':_0x2a4d22(0xf1),'failed':{..._0x1e81e4?.[_0x2a4d22(0x116)]?{'expectedSnapshotHash':_0x1e81e4[_0x2a4d22(0x116)]}:{},..._0x1e81e4?.[_0x2a4d22(0x143)]?{'currentSnapshotHash':_0x1e81e4[_0x2a4d22(0x143)]}:{}}});}}function createBody(_0x4573bb){const _0x21a55b=a109_0x4a22bb;return{'parentId':toApiParentId(_0x4573bb[_0x21a55b(0x105)]),'label':String(_0x4573bb[_0x21a55b(0x136)]),'type':String(_0x4573bb[_0x21a55b(0x184)]),'url':String(_0x4573bb['url']),'visible':Boolean(_0x4573bb[_0x21a55b(0x163)]),'sort':Number(_0x4573bb[_0x21a55b(0x17d)]),'extend':{}};}function a109_0xa36e(_0x4d80a2,_0x3aa92d){_0x4d80a2=_0x4d80a2-0xf0;const _0x110fe3=a109_0x110f();let _0xa36e1f=_0x110fe3[_0x4d80a2];return _0xa36e1f;}function buildMenuLookupCommand(_0x9aae23){const _0x580250=a109_0x4a22bb,_0x6f0aa8='\x27'+_0x9aae23[_0x580250(0xfd)](/'/g,_0x580250(0x170))+'\x27';return _0x580250(0x118)+_0x6f0aa8+_0x580250(0x146);}async function recoverAfterResponseLoss(_0x4be1b1,_0x360e37,_0x4a3db5){const _0x231787=a109_0x4a22bb,{plan:_0x1f7f57,snapshot:_0x45ca28}=_0x360e37,_0x45959b=_0x1f7f57[_0x231787(0x15e)];let _0x2d205c;try{_0x2d205c=await fetchMenuSnapshot(_0x4be1b1[_0x231787(0xfb)],_0x4be1b1[_0x231787(0x126)]);}catch(_0xf7f8ee){throw recoveryRequiredFailure(_0x1f7f57,_0x4a3db5,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x2a9f15=_0x2d205c[_0x231787(0x104)]['filter'](_0x465438=>_0x465438[_0x231787(0x105)]===_0x45959b[_0x231787(0x105)]&&_0x465438[_0x231787(0x184)]===_0x45959b[_0x231787(0x184)]&&_0x465438[_0x231787(0x136)]===_0x45959b['label']&&_0x465438[_0x231787(0xf9)]===_0x45959b[_0x231787(0xf9)]),_0x1319d6=_0x2a9f15[_0x231787(0x115)](_0x41af08=>!_0x45ca28[_0x231787(0x123)][_0x231787(0x11c)](_0x41af08['id'])),_0x2fcf93=_0x2a9f15[_0x231787(0x115)](_0x21ebdc=>_0x45ca28[_0x231787(0x123)][_0x231787(0x11c)](_0x21ebdc['id']));if(_0x2a9f15['length']!==0x1||_0x1319d6[_0x231787(0x148)]!==0x1)throw recoveryRequiredFailure(_0x1f7f57,_0x4a3db5,{'matchCount':_0x2a9f15[_0x231787(0x148)],'newMatchCount':_0x1319d6[_0x231787(0x148)],'preexistingMatchCount':_0x2fcf93[_0x231787(0x148)]});const _0x378027=_0x1319d6[0x0];try{verifyCreatedFact(_0x378027,_0x378027['id'],_0x45959b,null);}catch(_0x3cf816){const _0x540ce4=_0x3cf816 instanceof Error&&_0x231787(0x10d)in _0x3cf816?_0x3cf816:menuError(_0x231787(0x147),_0x231787(0x16f)+_0x378027['id']+_0x231787(0x15d),_0x231787(0x127)+_0x4a3db5+_0x231787(0x16a));throw externalLinkCreateFailure(_0x540ce4,_0x1f7f57,{'stage':_0x231787(0x149),'succeeded':[{'id':_0x378027['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x378027['id'],'finalFactsConfirmed':![]},'after':_0x378027,'warnings':[_0x231787(0x12d)+_0x378027['id']+'\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.'],'verification':{'status':_0x231787(0x11b),'targetId':_0x378027['id'],'recovered':!![],'lookupCommand':_0x4a3db5}});}return creationSuccess(_0x1f7f57,_0x2d205c,_0x378027,!![]);}function recoveryRequiredFailure(_0x4ce771,_0x1d32da,_0x2a7009){const _0xa83183=a109_0x4a22bb,_0x1e65a5=menuError(_0xa83183(0x14a),_0xa83183(0x11a),_0xa83183(0x127)+_0x1d32da+_0xa83183(0x150));return externalLinkCreateFailure(_0x1e65a5,_0x4ce771,{'stage':_0xa83183(0x107),'failed':_0x2a7009,'warnings':[_0xa83183(0x17f)],'verification':{'status':_0xa83183(0x11b),..._0x2a7009,'lookupCommand':_0x1d32da}});}async function readAndVerifyCreatedMenu(_0x16fa0a){const _0x1677e1=a109_0x4a22bb;let _0x3c0b8f;try{_0x3c0b8f=await fetchMenuSnapshot(_0x16fa0a[_0x1677e1(0xfb)],_0x16fa0a[_0x1677e1(0x126)]);}catch(_0x26cb1f){const _0x218b34=menuError(_0x1677e1(0x147),_0x1677e1(0x12d)+_0x16fa0a[_0x1677e1(0x131)]+_0x1677e1(0x133),'Run\x20'+_0x16fa0a[_0x1677e1(0x168)]+_0x1677e1(0x13f));throw externalLinkCreateFailure(_0x218b34,_0x16fa0a[_0x1677e1(0x167)],{'stage':_0x1677e1(0x149),'succeeded':[{'id':_0x16fa0a['createdId'],'created':!![]}],'failed':{'id':_0x16fa0a['createdId'],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x16fa0a[_0x1677e1(0x173)],'id':_0x16fa0a['createdId'],'path':_0x16fa0a[_0x1677e1(0x14e)]},'warnings':[_0x1677e1(0x12d)+_0x16fa0a[_0x1677e1(0x131)]+_0x1677e1(0x10f)],'verification':{'status':_0x1677e1(0x11b),'targetId':_0x16fa0a[_0x1677e1(0x131)],'lookupCommand':_0x16fa0a[_0x1677e1(0x168)]}});}const _0xa86257=_0x3c0b8f['byId'][_0x1677e1(0x145)](_0x16fa0a[_0x1677e1(0x131)]);try{if(!_0xa86257)throw menuError(_0x1677e1(0x147),_0x1677e1(0x101)+_0x16fa0a[_0x1677e1(0x131)]+_0x1677e1(0x106),_0x1677e1(0x127)+_0x16fa0a[_0x1677e1(0x168)]+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');verifyCreatedFact(_0xa86257,_0x16fa0a['createdId'],_0x16fa0a['afterPlan'],_0x16fa0a['expectedPath']);}catch(_0x2cb393){const _0x3a698f=_0x2cb393 instanceof Error&&_0x1677e1(0x10d)in _0x2cb393?_0x2cb393:menuError(_0x1677e1(0x147),_0x1677e1(0x101)+_0x16fa0a[_0x1677e1(0x131)]+_0x1677e1(0x108),_0x1677e1(0x127)+_0x16fa0a[_0x1677e1(0x168)]+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x3a698f,_0x16fa0a[_0x1677e1(0x167)],{'stage':_0x1677e1(0x149),'succeeded':[{'id':_0x16fa0a[_0x1677e1(0x131)],'created':!![]}],'failed':{'id':_0x16fa0a[_0x1677e1(0x131)],'finalFactsConfirmed':![]},'after':_0xa86257??{..._0x16fa0a['afterPlan'],'id':_0x16fa0a[_0x1677e1(0x131)],'path':_0x16fa0a['expectedPath']},'warnings':[_0x1677e1(0x12d)+_0x16fa0a[_0x1677e1(0x131)]+'\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.'],'verification':{'status':_0x1677e1(0x11b),'targetId':_0x16fa0a[_0x1677e1(0x131)],'recovered':_0x16fa0a[_0x1677e1(0x169)],'lookupCommand':_0x16fa0a[_0x1677e1(0x168)]}});}return{'snapshot':_0x3c0b8f,'fact':_0xa86257};}function verifyCreatedFact(_0x2c893a,_0x5e7055,_0x2b46ab,_0x2a4dbb){const _0x483a29=a109_0x4a22bb;if(!Number[_0x483a29(0x159)](_0x2c893a['id'])||_0x2c893a['id']<=0x0||_0x2c893a['id']!==_0x5e7055)throw menuError(_0x483a29(0x147),_0x483a29(0x134),'Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.');const _0x596dde=[['parent',_0x2c893a[_0x483a29(0x105)],_0x2b46ab[_0x483a29(0x105)]],[_0x483a29(0x184),_0x2c893a[_0x483a29(0x184)],_0x2b46ab['type']],[_0x483a29(0x136),_0x2c893a[_0x483a29(0x136)],_0x2b46ab[_0x483a29(0x136)]],['URL',_0x2c893a[_0x483a29(0xf9)],_0x2b46ab[_0x483a29(0xf9)]],[_0x483a29(0x124),_0x2c893a[_0x483a29(0x163)],_0x2b46ab[_0x483a29(0x163)]],[_0x483a29(0x17d),_0x2c893a[_0x483a29(0x17d)],_0x2b46ab[_0x483a29(0x17d)]]];for(const [_0xbfb24a,_0x53fb33,_0x821dc9]of _0x596dde){if(_0x53fb33!==_0x821dc9)throw menuError(_0x483a29(0x147),_0x483a29(0x101)+_0x2c893a['id']+_0x483a29(0x154)+_0xbfb24a+'.',_0x483a29(0xff));}if(!_0x2c893a[_0x483a29(0x165)][_0x483a29(0x14b)]()||_0x2a4dbb!==null&&_0x2c893a['path']!==_0x2a4dbb)throw menuError(_0x483a29(0x147),_0x483a29(0x101)+_0x2c893a['id']+'\x20has\x20an\x20unexpected\x20generated\x20path.',_0x483a29(0xff));}function creationSuccess(_0x12dea3,_0x565f1b,_0x20d1e7,_0x3ce356){const _0x547d6f=a109_0x4a22bb,_0x20b52a=mutationResult({..._0x12dea3,'after':_0x20d1e7,'dryRun':![],'succeeded':[{'id':_0x20d1e7['id'],'created':!![],'recovered':_0x3ce356}],'verification':{'checkedBy':_0x547d6f(0xf8),'snapshotHash':_0x565f1b[_0x547d6f(0x137)],'targetId':_0x20d1e7['id'],'recovered':_0x3ce356,'path':_0x20d1e7['path']}});return{'ok':!![],'message':_0x3ce356?'Recovered\x20created\x20external\x20menu\x20'+_0x20d1e7['id']+_0x547d6f(0x15f):_0x547d6f(0x135)+_0x20d1e7['id']+'.','data':{..._0x20b52a,'recovered':_0x3ce356}};}function externalLinkCreateFailure(_0x45de62,_0x82a001,_0x37762a){const _0x1d097b=a109_0x4a22bb;return menuFailure(safeMenuAddError(_0x45de62),redactFailurePlan(_0x82a001),{..._0x37762a,'succeeded':_0x37762a[_0x1d097b(0x120)]?.['map'](redactFailureRecord),'failed':_0x37762a[_0x1d097b(0x11b)]?redactFailureRecord(_0x37762a[_0x1d097b(0x11b)]):undefined,'verification':_0x37762a['verification']?redactFailureRecord(_0x37762a['verification']):undefined,'after':_0x37762a['after']===undefined?undefined:redactFailureValue(_0x37762a[_0x1d097b(0x15e)])});}function redactFailurePlan(_0x2f048c){const _0x333102=a109_0x4a22bb;return{..._0x2f048c,'selector':redactFailureRecord(_0x2f048c[_0x333102(0x17b)]),'before':redactFailureValue(_0x2f048c['before']),'after':redactFailureValue(_0x2f048c[_0x333102(0x15e)]),'plannedActions':_0x2f048c[_0x333102(0x142)]?.['map'](_0x120591=>({..._0x120591,'body':redactFailureRecord(_0x120591[_0x333102(0x10a)])})),'succeeded':_0x2f048c[_0x333102(0x120)][_0x333102(0x13a)](redactFailureRecord),'failed':_0x2f048c['failed'][_0x333102(0x13a)](redactFailureRecord),'verification':_0x2f048c[_0x333102(0x149)]?redactFailureRecord(_0x2f048c[_0x333102(0x149)]):undefined};}function redactFailureRecord(_0x5ecc57){return redactFailureValue(_0x5ecc57);}function redactFailureValue(_0x513630,_0xca9294=''){const _0x4fcd6f=a109_0x4a22bb,_0x4f1ec7=_0xca9294[_0x4fcd6f(0x162)]()['replace'](/[^a-z0-9]/g,'');if([_0x4fcd6f(0x102),_0x4fcd6f(0x16b),_0x4fcd6f(0x10b),_0x4fcd6f(0xf7)][_0x4fcd6f(0x11f)](_0x4f1ec7))return _0x4fcd6f(0x17a);if(Array[_0x4fcd6f(0x182)](_0x513630))return _0x513630[_0x4fcd6f(0x13a)](_0x14ace0=>redactFailureValue(_0x14ace0));if(_0x513630&&typeof _0x513630==='object')return Object[_0x4fcd6f(0xf4)](Object[_0x4fcd6f(0x176)](_0x513630)['map'](([_0x5e5afc,_0x489cf8])=>[_0x5e5afc,redactFailureValue(_0x489cf8,_0x5e5afc)]));return _0x513630;}function safeMenuAddError(_0x4e35ae){const _0x524bfb=a109_0x4a22bb,_0x254e67=_0x4e35ae instanceof CliError?_0x4e35ae[_0x524bfb(0x10d)]:'menu_mutation_failed';switch(_0x254e67){case _0x524bfb(0x13d):return menuError(_0x254e67,_0x524bfb(0x179),_0x524bfb(0x178));case _0x524bfb(0xf0):return menuError(_0x254e67,_0x524bfb(0xfe),_0x524bfb(0x12f));case _0x524bfb(0x125):return menuError(_0x254e67,_0x524bfb(0x114),_0x524bfb(0x16e));case _0x524bfb(0x147):return menuError(_0x254e67,_0x524bfb(0x141),_0x524bfb(0x16e));case _0x524bfb(0x14a):return menuError(_0x254e67,_0x524bfb(0x161),_0x524bfb(0x119));case _0x524bfb(0x129):case'menu_not_found':case _0x524bfb(0xf3):case _0x524bfb(0x140):case _0x524bfb(0x175):return menuError(_0x254e67,_0x524bfb(0x11e),_0x524bfb(0x164));default:return menuError(_0x524bfb(0x129),_0x524bfb(0x11e),'Inspect\x20current\x20menu\x20facts\x20before\x20retrying.');}}function getFailureRecord(_0x1d4abd){const _0x35db2e=a109_0x4a22bb;if(!(_0x1d4abd instanceof Error)||!(_0x35db2e(0x111)in _0x1d4abd))return undefined;const _0x427969=_0x1d4abd['data'];if(!_0x427969||typeof _0x427969!==_0x35db2e(0x12c))return undefined;const _0x121335=_0x427969[_0x35db2e(0x11b)];if(!Array[_0x35db2e(0x182)](_0x121335)||!_0x121335[0x0]||typeof _0x121335[0x0]!==_0x35db2e(0x12c))return undefined;return _0x121335[0x0];}function a109_0x110f(){const _0x19eab6=['<redacted>','selector','call','sort','link','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','create','rawFlags','isArray','new-window','type','menu_permission_denied','pre-write-recheck','8997300QXPAZk','menu_parent_not_folder','fromEntries','How\x20to\x20open\x20the\x20external\x20website','open-mode','rawerror','menu\x20list','url','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','appCode','3059448osJmqW','replace','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','menu_open_mode_invalid','Created\x20menu\x20','cause','flagMissing','menus','parentId','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','create-recovery','\x20failed\x20final\x20verification.','menu_url_https_required','body','readbackerror','create-menu','code','protocol','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.','create-response-validation','data','\x20with\x20','3553055WwFAZv','Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','filter','expectedSnapshotHash','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','rabetbase\x20menu\x20list\x20--appcode\x20','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','failed','has','boolean','External\x20menu\x20creation\x20failed.','includes','succeeded','Whether\x20the\x20menu\x20is\x20visible','iframe','byId','visibility','menu_create_response_invalid','cookie','Run\x20','18263xoFJEf','menu_mutation_failed','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','Menu\x20label','object','Menu\x20','snapshot','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','createdId','str','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','Created\x20external\x20menu\x20','label','hash','POST','610239TEEVfb','map','966dCgThb','external-link-create','menu_state_drift','bool','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','menu_sort_invalid','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','plannedActions','currentSnapshotHash','password','get','\x20--format\x20compress','menu_verification_failed','length','verification','menu_create_recovery_required','trim','write','Would\x20create\x20external\x20website\x20link\x20menu\x20','expectedPath','<platform-generated>','\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.','string','add','hasOwnProperty','\x20has\x20an\x20unexpected\x20','menu_url_credentials_forbidden','3134sahBCw','username','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','isSafeInteger','1078544mJcvKt','/smartapi/menu/create','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','\x20could\x20not\x20be\x20verified.','after','\x20after\x20response\x20loss.','create\x20external\x20menu','The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','toLowerCase','visible','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','path','https:','plan','lookupCommand','recovered','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','causemessage','88auJAlr','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','Recovered\x20menu\x20','\x27\x5c\x27\x27','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','embedded','afterPlan','parent-id','menu_sort_overflow','entries','stringify','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.'];a109_0x110f=function(){return _0x19eab6;};return a109_0x110f();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a110_0x115f65=a110_0x521c;(function(_0x410cf5,_0x14a929){const _0xca5a75=a110_0x521c,_0x2a25e5=_0x410cf5();while(!![]){try{const _0x5c562b=-parseInt(_0xca5a75(0x1ec))/0x1+-parseInt(_0xca5a75(0x212))/0x2*(-parseInt(_0xca5a75(0x1f0))/0x3)+parseInt(_0xca5a75(0x1fc))/0x4*(parseInt(_0xca5a75(0x201))/0x5)+-parseInt(_0xca5a75(0x204))/0x6*(parseInt(_0xca5a75(0x1de))/0x7)+-parseInt(_0xca5a75(0x1f9))/0x8+-parseInt(_0xca5a75(0x1f1))/0x9+-parseInt(_0xca5a75(0x1c6))/0xa*(-parseInt(_0xca5a75(0x20f))/0xb);if(_0x5c562b===_0x14a929)break;else _0x2a25e5['push'](_0x2a25e5['shift']());}catch(_0x235746){_0x2a25e5['push'](_0x2a25e5['shift']());}}}(a110_0x593e,0x49840));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{validateExternalMenuUrl}from'../../commands/menu/external-link-create.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,hasFlag,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,parseParentId,recheckMutationSnapshot,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':'POST','path':a110_0x115f65(0x1f3)}];export const menuExternalLinkUpdate={'service':a110_0x115f65(0x218),'command':a110_0x115f65(0x202),'description':a110_0x115f65(0x216),'risk':'high-risk-write','structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a110_0x115f65(0x1c8),'type':'string','required':!![],'description':'New\x20external\x20HTTPS\x20URL'},{'name':a110_0x115f65(0x215),'type':'string','required':!![],'description':a110_0x115f65(0x1fa)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x5d8e35){validateInput(_0x5d8e35),requireExplicitYes(_0x5d8e35);},async 'dryRun'(_0x5322ca){const _0x25848b=a110_0x115f65;validateInput(_0x5322ca);const _0x577e9c=await buildPlan(_0x5322ca,!![]);return menuDryRunResult(_0x577e9c[_0x25848b(0x1ea)],{'method':_0x25848b(0x207),'url':_0x25848b(0x1f3),'body':_0x577e9c[_0x25848b(0x1f5)],'description':_0x25848b(0x21a)+_0x577e9c[_0x25848b(0x1f5)]['id']+'.'});},async 'execute'(_0x3c12ae){const _0x1a53bb=a110_0x115f65;validateInput(_0x3c12ae),requireExplicitYes(_0x3c12ae);const _0x19f4c8=await buildPlan(_0x3c12ae,![]),{plan:_0x54591f,body:_0xbf9f14,before:_0x4d87e1,noChanges:_0x3b9946}=_0x19f4c8,_0x1cad74=_0xbf9f14['id'];if(_0x3b9946)return updateSuccess(_0x54591f,_0x19f4c8[_0x1a53bb(0x1fd)],_0x4d87e1,!![],![]);await recheckMutationSnapshot(_0x3c12ae,_0x54591f,_0x1a53bb(0x1e2),_0x1cad74);try{await updateMenuEntity(_0x3c12ae['appCode'],_0x3c12ae['cookie'],{'id':_0xbf9f14['id'],'url':_0xbf9f14[_0x1a53bb(0x1c8)]});}catch(_0xdacb98){const _0x51f55e=mapMenuApiError(_0xdacb98,_0x1a53bb(0x1e2),_0x1cad74);if(isMenuResponseLoss(_0xdacb98)&&_0x51f55e[_0x1a53bb(0x209)]!==_0x1a53bb(0x1cd))return recoverAfterResponseLoss(_0x3c12ae,_0x19f4c8);throw menuFailure(_0x51f55e,_0x54591f,{'stage':_0x1a53bb(0x210),'failed':{'id':_0x1cad74},'warnings':['The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':'failed','targetId':_0x1cad74,'lookupCommand':buildLookupCommand(_0x3c12ae[_0x1a53bb(0x1db)])}});}let _0x466d31,_0x166d69;try{_0x466d31=await fetchMenuSnapshot(_0x3c12ae[_0x1a53bb(0x1db)],_0x3c12ae[_0x1a53bb(0x1ed)]),_0x166d69=requireMenu(_0x466d31,_0x1cad74),verifyUpdatedFact(_0x4d87e1,_0x166d69,_0xbf9f14['url']);}catch(_0x16fb2a){const _0x121ec8=describeMenuErrorCause(_0x16fb2a,_0x1a53bb(0x1f6),_0x1cad74),_0x2253b1=asVerificationError(_0x16fb2a,_0x1a53bb(0x1eb)+_0x1cad74+_0x1a53bb(0x208));throw menuFailure(_0x2253b1,_0x54591f,{'stage':_0x1a53bb(0x1c5),'succeeded':[{'id':_0x1cad74,'updateRequested':!![]}],'failed':{'id':_0x1cad74,'requestedStateConfirmed':![],..._0x121ec8},'warnings':[_0x1a53bb(0x1cf)],'verification':{'status':_0x1a53bb(0x20e),'targetId':_0x1cad74,'lookupCommand':buildLookupCommand(_0x3c12ae[_0x1a53bb(0x1db)])}});}return updateSuccess(_0x54591f,_0x466d31,_0x166d69,![],![]);}};function validateInput(_0x5aa9e2){const _0x40d43f=a110_0x115f65;validateExactId(_0x5aa9e2),requiredUrl(_0x5aa9e2,'url'),requiredExpectedUrl(_0x5aa9e2),parseParentId(_0x5aa9e2,_0x40d43f(0x1ca),{'required':!![]});}function requiredUrl(_0x175fd1,_0x882b6c){const _0x28cbff=a110_0x115f65;if(!hasFlag(_0x175fd1,_0x882b6c)||!_0x175fd1[_0x28cbff(0x1e1)](_0x882b6c)['trim']())throw CliErrors[_0x28cbff(0x1d7)](_0x882b6c);return validateExternalMenuUrl(_0x175fd1['str'](_0x882b6c));}function requiredExpectedUrl(_0x15ceb2){const _0x4955e9=a110_0x115f65;if(!hasFlag(_0x15ceb2,_0x4955e9(0x215))||!_0x15ceb2[_0x4955e9(0x1e1)](_0x4955e9(0x215))[_0x4955e9(0x1f7)]())throw CliErrors['flagMissing'](_0x4955e9(0x215));return _0x15ceb2[_0x4955e9(0x1e1)](_0x4955e9(0x215))[_0x4955e9(0x1f7)]();}async function buildPlan(_0x9d7895,_0x556dc7){const _0x33547e=a110_0x115f65,_0x24171e=validateExactId(_0x9d7895),_0x5f3043=requiredUrl(_0x9d7895,_0x33547e(0x1c8)),_0x5ea8fc=requiredExpectedUrl(_0x9d7895),_0x2f7d06=parseParentId(_0x9d7895,_0x33547e(0x1ca),{'required':!![]}),_0x4cb978=await fetchMutationSnapshot(_0x9d7895,_0x33547e(0x1e2),_0x24171e),_0x24309f=requireMenu(_0x4cb978,_0x24171e);assertExternalLinkLeaf(_0x24309f);if(_0x24309f[_0x33547e(0x1e9)]!==_0x2f7d06)throw menuError(_0x33547e(0x1e0),_0x33547e(0x1c4)+_0x24171e+_0x33547e(0x217)+formatParent(_0x2f7d06)+_0x33547e(0x1d9)+formatParent(_0x24309f['parentId'])+'.',_0x33547e(0x1f4));const _0x402659=_0x24309f[_0x33547e(0x1c8)]===_0x5f3043;if(!_0x402659&&_0x24309f[_0x33547e(0x1c8)]!==_0x5ea8fc)throw menuError('menu_state_drift','Menu\x20'+_0x24171e+_0x33547e(0x1f2),_0x33547e(0x1e3));const _0x5d59a2={'id':_0x24171e,'appCode':_0x9d7895[_0x33547e(0x1db)],'url':_0x5f3043},_0x41fff3={..._0x24309f,'url':_0x5f3043};return{'body':_0x5d59a2,'before':_0x24309f,'noChanges':_0x402659,'snapshot':_0x4cb978,'plan':mutationResult({'operation':_0x33547e(0x202),'selector':{'id':_0x24171e},'before':_0x24309f,'after':_0x41fff3,'dryRun':_0x556dc7,'backend':[...BACKEND],'plannedActions':_0x402659?[]:[{'stage':'update-external-link-url','method':'POST','path':'/smartapi/menu/update','body':_0x5d59a2}],'snapshotHash':_0x4cb978['hash'],'warnings':_0x402659?[_0x33547e(0x20b)]:[]})};}function a110_0x521c(_0x179933,_0x4e35cc){_0x179933=_0x179933-0x1c4;const _0x593ecd=a110_0x593e();let _0x521cc8=_0x593ecd[_0x179933];return _0x521cc8;}function assertExternalLinkLeaf(_0x2b5674){const _0x2c05f7=a110_0x115f65;if(_0x2b5674['type']!==_0x2c05f7(0x205)&&_0x2b5674[_0x2c05f7(0x20c)]!==_0x2c05f7(0x1ce))throw menuError(_0x2c05f7(0x20a),_0x2c05f7(0x1c4)+_0x2b5674['id']+_0x2c05f7(0x1da)+(_0x2b5674[_0x2c05f7(0x20c)]||'unknown')+_0x2c05f7(0x1e4),_0x2c05f7(0x211));if(_0x2b5674[_0x2c05f7(0x1e7)]!==0x0)throw menuError(_0x2c05f7(0x206),_0x2c05f7(0x1c4)+_0x2b5674['id']+_0x2c05f7(0x1d1)+_0x2b5674[_0x2c05f7(0x1e7)]+_0x2c05f7(0x1cb),'External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.');if(!_0x2b5674[_0x2c05f7(0x1fb)][_0x2c05f7(0x1f7)]())throw menuError(_0x2c05f7(0x1d2),'Menu\x20'+_0x2b5674['id']+'\x20has\x20an\x20empty\x20platform\x20path.',_0x2c05f7(0x1d0));}function a110_0x593e(){const _0x5ea509=['replace','menu_permission_denied','link','The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','\x20has\x20','menu_external_link_path_missing','get','The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','visible','Updated\x20external\x20URL\x20for\x20menu\x20','flagMissing','update-recovery',',\x20current\x20','\x20is\x20type\x20\x22','appCode','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','\x20already\x20matches\x20the\x20requested\x20URL.','62692NMnhQp','menu\x20list','menu_state_drift','str','update\x20external\x20menu\x20URL','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','\x22,\x20not\x20iframe\x20or\x20link.','\x20URL\x20update\x20did\x20not\x20take\x20effect.','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','childrenCount','after','parentId','plan','Update\x20request\x20for\x20menu\x20','212951JJGcmy','cookie','hash','sort','1190343chdrKF','3338082FJxyhh','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','/smartapi/menu/update','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','body','verify\x20external\x20menu\x20URL\x20update','trim','readbackFailed','805880McZZht','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','path','143036qBfhFz','snapshot','\x27\x5c\x27\x27','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','25afIBmM','external-link-update','\x20could\x20not\x20be\x20verified\x20safely','42mJwrte','iframe','menu_external_link_not_leaf','POST','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','code','menu_external_link_type_required','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','type','byId','failed','55NfJKnu','update','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','2IsKRuF','\x20changed\x20during\x20the\x20URL-only\x20update.','label','expect-url','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','\x20parent\x20changed:\x20expected\x20','menu','Response\x20was\x20lost\x20and\x20menu\x20','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','Menu\x20','verification','945640xyHzur','requestedUrlObserved','url','\x20--format\x20compress','expect-parent-id','\x20direct\x20child\x20menu(s).'];a110_0x593e=function(){return _0x5ea509;};return a110_0x593e();}function verifyUpdatedFact(_0x22e4c6,_0x26ae1e,_0x5a1abf){const _0x5e2248=a110_0x115f65;assertExternalLinkLeaf(_0x26ae1e);const _0x4615a0=[['id',_0x26ae1e['id'],_0x22e4c6['id']],[_0x5e2248(0x214),_0x26ae1e['label'],_0x22e4c6['label']],[_0x5e2248(0x20c),_0x26ae1e['type'],_0x22e4c6[_0x5e2248(0x20c)]],[_0x5e2248(0x1fb),_0x26ae1e[_0x5e2248(0x1fb)],_0x22e4c6[_0x5e2248(0x1fb)]],[_0x5e2248(0x1e9),_0x26ae1e[_0x5e2248(0x1e9)],_0x22e4c6[_0x5e2248(0x1e9)]],[_0x5e2248(0x1ef),_0x26ae1e[_0x5e2248(0x1ef)],_0x22e4c6[_0x5e2248(0x1ef)]],[_0x5e2248(0x1d5),_0x26ae1e[_0x5e2248(0x1d5)],_0x22e4c6['visible']]];for(const [_0x3aa723,_0x4ea22e,_0x22a0ae]of _0x4615a0){assertVerified(_0x4ea22e===_0x22a0ae,_0x5e2248(0x1c4)+_0x22e4c6['id']+'\x20'+_0x3aa723+_0x5e2248(0x213));}assertVerified(_0x26ae1e[_0x5e2248(0x1c8)]===_0x5a1abf,_0x5e2248(0x1c4)+_0x22e4c6['id']+_0x5e2248(0x1e5));}function updateSuccess(_0x315786,_0x3d26fd,_0x3bda49,_0x363f14,_0x1607bd){const _0x11722d=a110_0x115f65,_0x52c038=_0x3bda49['id'],_0x435ccb=mutationResult({..._0x315786,'after':_0x3bda49,'dryRun':![],'succeeded':[{'id':_0x52c038,'updated':!_0x363f14,'skipped':_0x363f14,'recovered':_0x1607bd}],'verification':{'checkedBy':_0x11722d(0x1df),'snapshotHash':_0x3d26fd[_0x11722d(0x1ee)],'targetId':_0x52c038,'matchesRequestedState':!![],'recovered':_0x1607bd}});return{'ok':!![],'message':_0x1607bd?_0x11722d(0x1ff)+_0x52c038+'.':_0x363f14?_0x11722d(0x1c4)+_0x52c038+_0x11722d(0x1dd):_0x11722d(0x1d6)+_0x52c038+'.','data':{..._0x435ccb,'recovered':_0x1607bd}};}async function recoverAfterResponseLoss(_0x7f2e95,_0x57ab21){const _0x276c24=a110_0x115f65,{plan:_0x18463c,before:_0x204246,body:_0x126f5c}=_0x57ab21;let _0x53c744;try{_0x53c744=await fetchMenuSnapshot(_0x7f2e95[_0x276c24(0x1db)],_0x7f2e95[_0x276c24(0x1ed)]);}catch{throw recoveryRequired(_0x18463c,_0x7f2e95['appCode'],{'id':_0x126f5c['id'],'readbackFailed':!![]});}const _0x581448=_0x53c744[_0x276c24(0x20d)][_0x276c24(0x1d3)](_0x126f5c['id']);if(!_0x581448||_0x581448['url']!==_0x126f5c[_0x276c24(0x1c8)])throw recoveryRequired(_0x18463c,_0x7f2e95[_0x276c24(0x1db)],{'id':_0x126f5c['id'],'requestedUrlObserved':![],'after':_0x581448??null});try{verifyUpdatedFact(_0x204246,_0x581448,_0x126f5c['url']);}catch(_0x28606a){const _0x132173=asVerificationError(_0x28606a,_0x276c24(0x219)+_0x126f5c['id']+_0x276c24(0x203));throw menuFailure(_0x132173,_0x18463c,{'stage':_0x276c24(0x1d8),'succeeded':[{'id':_0x126f5c['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x126f5c['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x581448,'warnings':[_0x276c24(0x1dc)],'verification':{'status':_0x276c24(0x20e),'targetId':_0x126f5c['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x7f2e95[_0x276c24(0x1db)])}});}return updateSuccess(_0x18463c,_0x53c744,_0x581448,![],!![]);}function recoveryRequired(_0x3028a3,_0x30582b,_0x2cf49a){const _0x94ee7=a110_0x115f65,_0x4ea55e=menuError('menu_update_recovery_required',_0x94ee7(0x1e6),'Run\x20'+buildLookupCommand(_0x30582b)+_0x94ee7(0x200));return menuFailure(_0x4ea55e,_0x3028a3,{'stage':_0x94ee7(0x1d8),'failed':{'id':_0x2cf49a['id'],..._0x2cf49a[_0x94ee7(0x1c7)]===undefined?{}:{'requestedUrlObserved':_0x2cf49a[_0x94ee7(0x1c7)]},..._0x2cf49a['readbackFailed']?{'readbackFailed':!![]}:{}},'after':_0x2cf49a[_0x94ee7(0x1e8)],'warnings':[_0x94ee7(0x1d4)],'verification':{'status':_0x94ee7(0x20e),'targetId':_0x2cf49a['id'],..._0x2cf49a[_0x94ee7(0x1c7)]===undefined?{}:{'requestedUrlObserved':_0x2cf49a['requestedUrlObserved']},..._0x2cf49a[_0x94ee7(0x1f8)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x30582b)}});}function buildLookupCommand(_0x1c526a){const _0x2ec9a2=a110_0x115f65,_0x3cc75b='\x27'+_0x1c526a[_0x2ec9a2(0x1cc)](/'/g,_0x2ec9a2(0x1fe))+'\x27';return'rabetbase\x20menu\x20list\x20--appcode\x20'+_0x3cc75b+_0x2ec9a2(0x1c9);}
|
|
1
|
+
const a110_0x1cf5d4=a110_0x1325;(function(_0x57b5fd,_0x552002){const _0x4a0f99=a110_0x1325,_0xe1a1e8=_0x57b5fd();while(!![]){try{const _0x1305ee=parseInt(_0x4a0f99(0x19b))/0x1*(parseInt(_0x4a0f99(0x198))/0x2)+parseInt(_0x4a0f99(0x15d))/0x3*(-parseInt(_0x4a0f99(0x178))/0x4)+-parseInt(_0x4a0f99(0x18f))/0x5*(parseInt(_0x4a0f99(0x194))/0x6)+-parseInt(_0x4a0f99(0x18d))/0x7+-parseInt(_0x4a0f99(0x19f))/0x8+-parseInt(_0x4a0f99(0x1a8))/0x9*(parseInt(_0x4a0f99(0x165))/0xa)+parseInt(_0x4a0f99(0x16d))/0xb*(parseInt(_0x4a0f99(0x172))/0xc);if(_0x1305ee===_0x552002)break;else _0xe1a1e8['push'](_0xe1a1e8['shift']());}catch(_0x27ce1e){_0xe1a1e8['push'](_0xe1a1e8['shift']());}}}(a110_0x3966,0x285f9));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{validateExternalMenuUrl}from'../../commands/menu/external-link-create.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,hasFlag,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,parseParentId,recheckMutationSnapshot,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';function a110_0x3966(){const _0x2c5413=['requestedUrlObserved','hash','url','20IAxZGE','\x20parent\x20changed:\x20expected\x20','childrenCount','menu','verify\x20external\x20menu\x20URL\x20update','byId','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','iframe','9522326kvCsGF','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','\x20URL\x20update\x20did\x20not\x20take\x20effect.','link','menu_state_drift','12BuwRCP','update','external-link-update','update-recovery','visible','POST','16BGOXVZ','readbackFailed','Menu\x20','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','Updated\x20external\x20URL\x20for\x20menu\x20','\x20--format\x20compress','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','expect-parent-id','Run\x20','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','menu_external_link_not_leaf','appCode','\x20could\x20not\x20be\x20verified\x20safely','path','update\x20external\x20menu\x20URL','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','high-risk-write','\x20has\x20an\x20empty\x20platform\x20path.','flagMissing','168rMYHJb','Response\x20was\x20lost\x20and\x20menu\x20','5Fvypwn','failed','\x22,\x20not\x20iframe\x20or\x20link.','menu_external_link_path_missing','str','1828578UrYzlI','replace','trim','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','2ZpCZsH','expect-url','cookie','56506WOQDLu','New\x20external\x20HTTPS\x20URL','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','Update\x20request\x20for\x20menu\x20','2168016wqMbUk','unknown','/smartapi/menu/update','parentId','type','\x20direct\x20child\x20menu(s).','menu\x20list','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','menu_permission_denied','531189ucHeUj','label','rabetbase\x20menu\x20list\x20--appcode\x20','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','get','plan','\x20already\x20matches\x20the\x20requested\x20URL.','\x20changed\x20during\x20the\x20URL-only\x20update.','sort','string','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','\x20has\x20','47229hfYrsa','body','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','menu_external_link_type_required','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.'];a110_0x3966=function(){return _0x2c5413;};return a110_0x3966();}import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a110_0x1cf5d4(0x177),'path':'/smartapi/menu/update'}];export const menuExternalLinkUpdate={'service':a110_0x1cf5d4(0x168),'command':a110_0x1cf5d4(0x174),'description':a110_0x1cf5d4(0x17c),'risk':a110_0x1cf5d4(0x18a),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':'url','type':'string','required':!![],'description':a110_0x1cf5d4(0x19c)},{'name':'expect-url','type':a110_0x1cf5d4(0x15a),'required':!![],'description':a110_0x1cf5d4(0x183)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x3e6fe3){validateInput(_0x3e6fe3),requireExplicitYes(_0x3e6fe3);},async 'dryRun'(_0x30c186){const _0x548b18=a110_0x1cf5d4;validateInput(_0x30c186);const _0x1c87d5=await buildPlan(_0x30c186,!![]);return menuDryRunResult(_0x1c87d5[_0x548b18(0x156)],{'method':'POST','url':'/smartapi/menu/update','body':_0x1c87d5[_0x548b18(0x15e)],'description':_0x548b18(0x15f)+_0x1c87d5[_0x548b18(0x15e)]['id']+'.'});},async 'execute'(_0x4fc63b){const _0x3cee82=a110_0x1cf5d4;validateInput(_0x4fc63b),requireExplicitYes(_0x4fc63b);const _0x1a05fb=await buildPlan(_0x4fc63b,![]),{plan:_0x581522,body:_0x479038,before:_0x208799,noChanges:_0x85f44}=_0x1a05fb,_0x51f8f7=_0x479038['id'];if(_0x85f44)return updateSuccess(_0x581522,_0x1a05fb['snapshot'],_0x208799,!![],![]);await recheckMutationSnapshot(_0x4fc63b,_0x581522,'update\x20external\x20menu\x20URL',_0x51f8f7);try{await updateMenuEntity(_0x4fc63b[_0x3cee82(0x185)],_0x4fc63b[_0x3cee82(0x19a)],{'id':_0x479038['id'],'url':_0x479038['url']});}catch(_0x12a42e){const _0x593f66=mapMenuApiError(_0x12a42e,'update\x20external\x20menu\x20URL',_0x51f8f7);if(isMenuResponseLoss(_0x12a42e)&&_0x593f66['code']!==_0x3cee82(0x1a7))return recoverAfterResponseLoss(_0x4fc63b,_0x1a05fb);throw menuFailure(_0x593f66,_0x581522,{'stage':_0x3cee82(0x173),'failed':{'id':_0x51f8f7},'warnings':[_0x3cee82(0x19d)],'verification':{'status':_0x3cee82(0x190),'targetId':_0x51f8f7,'lookupCommand':buildLookupCommand(_0x4fc63b[_0x3cee82(0x185)])}});}let _0x2a4e43,_0x25d18a;try{_0x2a4e43=await fetchMenuSnapshot(_0x4fc63b[_0x3cee82(0x185)],_0x4fc63b[_0x3cee82(0x19a)]),_0x25d18a=requireMenu(_0x2a4e43,_0x51f8f7),verifyUpdatedFact(_0x208799,_0x25d18a,_0x479038[_0x3cee82(0x164)]);}catch(_0x1d421e){const _0x568902=describeMenuErrorCause(_0x1d421e,_0x3cee82(0x169),_0x51f8f7),_0x1bf9a8=asVerificationError(_0x1d421e,_0x3cee82(0x19e)+_0x51f8f7+_0x3cee82(0x1a6));throw menuFailure(_0x1bf9a8,_0x581522,{'stage':'verification','succeeded':[{'id':_0x51f8f7,'updateRequested':!![]}],'failed':{'id':_0x51f8f7,'requestedStateConfirmed':![],..._0x568902},'warnings':['The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':'failed','targetId':_0x51f8f7,'lookupCommand':buildLookupCommand(_0x4fc63b[_0x3cee82(0x185)])}});}return updateSuccess(_0x581522,_0x2a4e43,_0x25d18a,![],![]);}};function validateInput(_0x26a1c1){const _0x5ba20a=a110_0x1cf5d4;validateExactId(_0x26a1c1),requiredUrl(_0x26a1c1,_0x5ba20a(0x164)),requiredExpectedUrl(_0x26a1c1),parseParentId(_0x26a1c1,_0x5ba20a(0x181),{'required':!![]});}function a110_0x1325(_0x8ed3b1,_0x3142e2){_0x8ed3b1=_0x8ed3b1-0x156;const _0x396662=a110_0x3966();let _0x1325ea=_0x396662[_0x8ed3b1];return _0x1325ea;}function requiredUrl(_0x29cf06,_0x152ba3){const _0x33ec04=a110_0x1cf5d4;if(!hasFlag(_0x29cf06,_0x152ba3)||!_0x29cf06['str'](_0x152ba3)[_0x33ec04(0x196)]())throw CliErrors[_0x33ec04(0x18c)](_0x152ba3);return validateExternalMenuUrl(_0x29cf06['str'](_0x152ba3));}function requiredExpectedUrl(_0x3ac277){const _0x5eb8dd=a110_0x1cf5d4;if(!hasFlag(_0x3ac277,_0x5eb8dd(0x199))||!_0x3ac277['str'](_0x5eb8dd(0x199))[_0x5eb8dd(0x196)]())throw CliErrors[_0x5eb8dd(0x18c)](_0x5eb8dd(0x199));return _0x3ac277[_0x5eb8dd(0x193)](_0x5eb8dd(0x199))['trim']();}async function buildPlan(_0x544f21,_0x18281a){const _0x383dba=a110_0x1cf5d4,_0x4ea727=validateExactId(_0x544f21),_0x1526ea=requiredUrl(_0x544f21,_0x383dba(0x164)),_0x444b1d=requiredExpectedUrl(_0x544f21),_0xc88ca3=parseParentId(_0x544f21,'expect-parent-id',{'required':!![]}),_0x4a2d13=await fetchMutationSnapshot(_0x544f21,_0x383dba(0x188),_0x4ea727),_0x38e487=requireMenu(_0x4a2d13,_0x4ea727);assertExternalLinkLeaf(_0x38e487);if(_0x38e487[_0x383dba(0x1a2)]!==_0xc88ca3)throw menuError(_0x383dba(0x171),'Menu\x20'+_0x4ea727+_0x383dba(0x166)+formatParent(_0xc88ca3)+',\x20current\x20'+formatParent(_0x38e487[_0x383dba(0x1a2)])+'.',_0x383dba(0x17f));const _0x16f3f5=_0x38e487[_0x383dba(0x164)]===_0x1526ea;if(!_0x16f3f5&&_0x38e487[_0x383dba(0x164)]!==_0x444b1d)throw menuError(_0x383dba(0x171),'Menu\x20'+_0x4ea727+_0x383dba(0x16e),_0x383dba(0x161));const _0x50f02a={'id':_0x4ea727,'appCode':_0x544f21[_0x383dba(0x185)],'url':_0x1526ea},_0x30116e={..._0x38e487,'url':_0x1526ea};return{'body':_0x50f02a,'before':_0x38e487,'noChanges':_0x16f3f5,'snapshot':_0x4a2d13,'plan':mutationResult({'operation':_0x383dba(0x174),'selector':{'id':_0x4ea727},'before':_0x38e487,'after':_0x30116e,'dryRun':_0x18281a,'backend':[...BACKEND],'plannedActions':_0x16f3f5?[]:[{'stage':'update-external-link-url','method':_0x383dba(0x177),'path':_0x383dba(0x1a1),'body':_0x50f02a}],'snapshotHash':_0x4a2d13[_0x383dba(0x163)],'warnings':_0x16f3f5?[_0x383dba(0x189)]:[]})};}function assertExternalLinkLeaf(_0x4f5184){const _0x4dac6f=a110_0x1cf5d4;if(_0x4f5184[_0x4dac6f(0x1a3)]!==_0x4dac6f(0x16c)&&_0x4f5184[_0x4dac6f(0x1a3)]!==_0x4dac6f(0x170))throw menuError(_0x4dac6f(0x160),_0x4dac6f(0x17a)+_0x4f5184['id']+'\x20is\x20type\x20\x22'+(_0x4f5184[_0x4dac6f(0x1a3)]||_0x4dac6f(0x1a0))+_0x4dac6f(0x191),_0x4dac6f(0x16b));if(_0x4f5184['childrenCount']!==0x0)throw menuError(_0x4dac6f(0x184),_0x4dac6f(0x17a)+_0x4f5184['id']+_0x4dac6f(0x15c)+_0x4f5184[_0x4dac6f(0x167)]+_0x4dac6f(0x1a4),'External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.');if(!_0x4f5184['path'][_0x4dac6f(0x196)]())throw menuError(_0x4dac6f(0x192),_0x4dac6f(0x17a)+_0x4f5184['id']+_0x4dac6f(0x18b),_0x4dac6f(0x1ab));}function verifyUpdatedFact(_0x585b1c,_0x264e65,_0x12f2da){const _0x5a5cb5=a110_0x1cf5d4;assertExternalLinkLeaf(_0x264e65);const _0x44ac68=[['id',_0x264e65['id'],_0x585b1c['id']],[_0x5a5cb5(0x1a9),_0x264e65['label'],_0x585b1c['label']],[_0x5a5cb5(0x1a3),_0x264e65[_0x5a5cb5(0x1a3)],_0x585b1c['type']],['path',_0x264e65[_0x5a5cb5(0x187)],_0x585b1c[_0x5a5cb5(0x187)]],[_0x5a5cb5(0x1a2),_0x264e65[_0x5a5cb5(0x1a2)],_0x585b1c['parentId']],['sort',_0x264e65[_0x5a5cb5(0x159)],_0x585b1c[_0x5a5cb5(0x159)]],[_0x5a5cb5(0x176),_0x264e65[_0x5a5cb5(0x176)],_0x585b1c['visible']]];for(const [_0x28b2be,_0x2a2126,_0x200071]of _0x44ac68){assertVerified(_0x2a2126===_0x200071,_0x5a5cb5(0x17a)+_0x585b1c['id']+'\x20'+_0x28b2be+_0x5a5cb5(0x158));}assertVerified(_0x264e65[_0x5a5cb5(0x164)]===_0x12f2da,_0x5a5cb5(0x17a)+_0x585b1c['id']+_0x5a5cb5(0x16f));}function updateSuccess(_0x4675cf,_0x2594c4,_0x44fdc9,_0x1e0980,_0x2c134b){const _0x4a0312=a110_0x1cf5d4,_0x14e0b9=_0x44fdc9['id'],_0x2651a7=mutationResult({..._0x4675cf,'after':_0x44fdc9,'dryRun':![],'succeeded':[{'id':_0x14e0b9,'updated':!_0x1e0980,'skipped':_0x1e0980,'recovered':_0x2c134b}],'verification':{'checkedBy':_0x4a0312(0x1a5),'snapshotHash':_0x2594c4[_0x4a0312(0x163)],'targetId':_0x14e0b9,'matchesRequestedState':!![],'recovered':_0x2c134b}});return{'ok':!![],'message':_0x2c134b?_0x4a0312(0x17b)+_0x14e0b9+'.':_0x1e0980?_0x4a0312(0x17a)+_0x14e0b9+_0x4a0312(0x157):_0x4a0312(0x17d)+_0x14e0b9+'.','data':{..._0x2651a7,'recovered':_0x2c134b}};}async function recoverAfterResponseLoss(_0x20f337,_0xcb6a39){const _0x222af2=a110_0x1cf5d4,{plan:_0x4f0560,before:_0x368adc,body:_0xc8fb84}=_0xcb6a39;let _0x2c3c6f;try{_0x2c3c6f=await fetchMenuSnapshot(_0x20f337[_0x222af2(0x185)],_0x20f337[_0x222af2(0x19a)]);}catch{throw recoveryRequired(_0x4f0560,_0x20f337['appCode'],{'id':_0xc8fb84['id'],'readbackFailed':!![]});}const _0x3e10fd=_0x2c3c6f[_0x222af2(0x16a)][_0x222af2(0x1ac)](_0xc8fb84['id']);if(!_0x3e10fd||_0x3e10fd['url']!==_0xc8fb84[_0x222af2(0x164)])throw recoveryRequired(_0x4f0560,_0x20f337[_0x222af2(0x185)],{'id':_0xc8fb84['id'],'requestedUrlObserved':![],'after':_0x3e10fd??null});try{verifyUpdatedFact(_0x368adc,_0x3e10fd,_0xc8fb84['url']);}catch(_0x47a80e){const _0x497622=asVerificationError(_0x47a80e,_0x222af2(0x18e)+_0xc8fb84['id']+_0x222af2(0x186));throw menuFailure(_0x497622,_0x4f0560,{'stage':_0x222af2(0x175),'succeeded':[{'id':_0xc8fb84['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0xc8fb84['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x3e10fd,'warnings':[_0x222af2(0x180)],'verification':{'status':_0x222af2(0x190),'targetId':_0xc8fb84['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x20f337[_0x222af2(0x185)])}});}return updateSuccess(_0x4f0560,_0x2c3c6f,_0x3e10fd,![],!![]);}function recoveryRequired(_0x508373,_0x5325d6,_0x4b5fb7){const _0xe01ca9=a110_0x1cf5d4,_0x4a3f65=menuError('menu_update_recovery_required',_0xe01ca9(0x15b),_0xe01ca9(0x182)+buildLookupCommand(_0x5325d6)+_0xe01ca9(0x197));return menuFailure(_0x4a3f65,_0x508373,{'stage':'update-recovery','failed':{'id':_0x4b5fb7['id'],..._0x4b5fb7[_0xe01ca9(0x162)]===undefined?{}:{'requestedUrlObserved':_0x4b5fb7[_0xe01ca9(0x162)]},..._0x4b5fb7[_0xe01ca9(0x179)]?{'readbackFailed':!![]}:{}},'after':_0x4b5fb7['after'],'warnings':['The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.'],'verification':{'status':_0xe01ca9(0x190),'targetId':_0x4b5fb7['id'],..._0x4b5fb7[_0xe01ca9(0x162)]===undefined?{}:{'requestedUrlObserved':_0x4b5fb7[_0xe01ca9(0x162)]},..._0x4b5fb7[_0xe01ca9(0x179)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x5325d6)}});}function buildLookupCommand(_0x2e298e){const _0x4a9cb0=a110_0x1cf5d4,_0x298a42='\x27'+_0x2e298e[_0x4a9cb0(0x195)](/'/g,'\x27\x5c\x27\x27')+'\x27';return _0x4a9cb0(0x1aa)+_0x298a42+_0x4a9cb0(0x17e);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a111_0x5950e1=a111_0x153c;(function(_0x5458f3,_0x4fe12c){const _0x49b403=a111_0x153c,_0x43d62d=_0x5458f3();while(!![]){try{const _0x1a6177=parseInt(_0x49b403(0x169))/0x1+parseInt(_0x49b403(0x17e))/0x2+parseInt(_0x49b403(0x167))/0x3*(-parseInt(_0x49b403(0x166))/0x4)+parseInt(_0x49b403(0x149))/0x5+-parseInt(_0x49b403(0x16a))/0x6+-parseInt(_0x49b403(0x165))/0x7+-parseInt(_0x49b403(0x13b))/0x8*(-parseInt(_0x49b403(0x163))/0x9);if(_0x1a6177===_0x4fe12c)break;else _0x43d62d['push'](_0x43d62d['shift']());}catch(_0x5cef5a){_0x43d62d['push'](_0x43d62d['shift']());}}}(a111_0x2cec,0x280a6));function a111_0x153c(_0x2bd0e0,_0x291e3d){_0x2bd0e0=_0x2bd0e0-0x13a;const _0x2cec98=a111_0x2cec();let _0x153c24=_0x2cec98[_0x2bd0e0];return _0x153c24;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a111_0x2cec(){const _0x4d7fb9=['Created\x20menu\x20folder\x20','\x20is\x20missing\x20from\x20menu\x20list.','\x20has\x20an\x20unexpected\x20sort.','failed','24tEvYEY','\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.','\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract','create-folder','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','depth','label','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.','sort','trim','appCode','after','parent-id','Created\x20folder\x20','3180gvxhqt','\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts','\x20may\x20exist\x20online\x20at\x20path\x20','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.','\x22\x20with\x20a\x20platform-generated\x20path.','Menu\x20create\x20response\x20for\x20folder\x20','length','Would\x20create\x20empty\x20folder\x20\x22','visible','\x20is\x20not\x20type\x20folder.','childrenCount','rabetbase\x20menu\x20list\x20--format\x20json','type','pageId','create\x20folder','resources','path','isSafeInteger','Folder\x20','create-response-validation','verification','str','root','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','stringify','menu_create_response_invalid','1352115VIOouQ','byId','673491bKYzzl','155880kXhfBp','18jIMXII','menu\x20list','82400xMWTuL','465342Tbkyju','cookie','\x20has\x20an\x20unexpected\x20label.','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','\x20has\x20unexpected\x20parent\x20','verify\x20folder\x20creation','create','string','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','group-create','parentId',';\x20verify\x20it\x20before\x20retrying.','\x20is\x20not\x20visible.','\x20is\x20not\x20empty.','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','POST','Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','Folder\x20label','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','<platform-generated>','75710YaoWJK','hash','folder','/smartapi/menu/create'];a111_0x2cec=function(){return _0x4d7fb9;};return a111_0x2cec();}import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a111_0x5950e1(0x179),'path':a111_0x5950e1(0x181)}];export const menuGroupCreate={'service':'menu','command':a111_0x5950e1(0x173),'description':a111_0x5950e1(0x17a),'risk':'write','structuredErrors':!![],'flags':[{'name':a111_0x5950e1(0x141),'type':'string','required':!![],'description':a111_0x5950e1(0x17b)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x632b1b){validateCreateInput(_0x632b1b);},async 'dryRun'(_0x46c104){const _0x608c24=a111_0x5950e1,_0x1baf2d=await buildCreatePlan(_0x46c104,!![]),_0x43f2c2=_0x1baf2d['after'];return menuDryRunResult(_0x1baf2d,{'method':'POST','url':_0x608c24(0x181),'body':{'parentId':toApiParentId(_0x43f2c2[_0x608c24(0x174)]),'label':_0x43f2c2['label'],'type':_0x608c24(0x180),'visible':!![],'sort':_0x43f2c2['sort'],'extend':{}},'description':_0x608c24(0x150)+String(_0x43f2c2[_0x608c24(0x141)])+_0x608c24(0x14d)});},async 'execute'(_0x2cca6f){const _0x28e6e5=a111_0x5950e1;validateCreateInput(_0x2cca6f);const _0x522650=await buildCreatePlan(_0x2cca6f,![]),_0x166c94=_0x522650[_0x28e6e5(0x146)];await recheckMutationSnapshot(_0x2cca6f,_0x522650,_0x28e6e5(0x157));let _0xc7aa50;try{_0xc7aa50=await createMenuEntity(_0x2cca6f['appCode'],_0x2cca6f[_0x28e6e5(0x16b)],{'parentId':toApiParentId(_0x166c94[_0x28e6e5(0x174)]),'label':String(_0x166c94[_0x28e6e5(0x141)]),'type':_0x28e6e5(0x180),'visible':!![],'sort':Number(_0x166c94['sort']),'extend':{}});}catch(_0x52777c){const _0x2efbd7=mapMenuApiError(_0x52777c,'create\x20folder');throw menuFailure(_0x2efbd7,_0x522650,{'stage':_0x28e6e5(0x170),'failed':{}});}const _0x4ad048=Number(_0xc7aa50['id']);if(!Number[_0x28e6e5(0x15a)](_0x4ad048)||_0x4ad048<=0x0){const _0x527784=menuError(_0x28e6e5(0x162),_0x28e6e5(0x178),_0x28e6e5(0x13f));throw menuFailure(_0x527784,_0x522650,{'stage':'create-response-validation','failed':{'createdId':_0xc7aa50['id']??null},'warnings':[_0x28e6e5(0x17c)],'verification':{'status':'failed','lookupCommand':_0x28e6e5(0x154)}});}const _0x37e44f=typeof _0xc7aa50[_0x28e6e5(0x159)]===_0x28e6e5(0x171)?_0xc7aa50[_0x28e6e5(0x159)]:'';if(!_0x37e44f[_0x28e6e5(0x144)]()){const _0x47dab3=menuError('menu_create_response_invalid',_0x28e6e5(0x14e)+_0x4ad048+_0x28e6e5(0x172),_0x28e6e5(0x142));throw menuFailure(_0x47dab3,_0x522650,{'stage':_0x28e6e5(0x15c),'succeeded':[{'id':_0x4ad048,'created':!![]}],'failed':{'id':_0x4ad048,'generatedPathConfirmed':![]},'warnings':['Folder\x20'+_0x4ad048+_0x28e6e5(0x13c)],'after':{..._0x166c94,'id':_0x4ad048,'path':_0x37e44f},'verification':{'status':'failed','lookupCommand':_0x28e6e5(0x154),'targetId':_0x4ad048}});}let _0x4badf2;try{_0x4badf2=await fetchMenuSnapshot(_0x2cca6f[_0x28e6e5(0x145)],_0x2cca6f['cookie']);}catch(_0x12f89b){const _0x4878c4=describeMenuErrorCause(_0x12f89b,_0x28e6e5(0x16f),_0x4ad048),_0x4a36b8=asVerificationError(_0x12f89b,'Folder\x20'+_0x4ad048+_0x28e6e5(0x14a));throw menuFailure(_0x4a36b8,_0x522650,{'stage':_0x28e6e5(0x15d),'succeeded':[{'id':_0x4ad048,'created':!![],'path':_0x37e44f}],'failed':{'id':_0x4ad048,'finalFactsConfirmed':![],..._0x4878c4},'warnings':['Folder\x20'+_0x4ad048+_0x28e6e5(0x14b)+JSON[_0x28e6e5(0x161)](_0x37e44f)+_0x28e6e5(0x175)],'after':{..._0x166c94,'id':_0x4ad048,'path':_0x37e44f},'verification':{'status':'failed','lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x4ad048}});}const _0x23a3ce=_0x4badf2[_0x28e6e5(0x164)]['get'](_0x4ad048);let _0x866d80;try{assertVerified(Boolean(_0x23a3ce),_0x28e6e5(0x148)+_0x4ad048+_0x28e6e5(0x183)),_0x866d80=_0x23a3ce,assertVerified(_0x866d80[_0x28e6e5(0x155)]===_0x28e6e5(0x180),'Created\x20menu\x20'+_0x4ad048+_0x28e6e5(0x152)),assertVerified(_0x866d80[_0x28e6e5(0x141)]===_0x166c94['label'],_0x28e6e5(0x148)+_0x4ad048+_0x28e6e5(0x16c)),assertVerified(_0x866d80[_0x28e6e5(0x159)]===_0x37e44f&&Boolean(_0x866d80[_0x28e6e5(0x159)]['trim']()),_0x28e6e5(0x148)+_0x4ad048+_0x28e6e5(0x16d)),assertVerified(_0x866d80[_0x28e6e5(0x151)]===!![],_0x28e6e5(0x148)+_0x4ad048+_0x28e6e5(0x176)),assertVerified(_0x866d80[_0x28e6e5(0x158)][_0x28e6e5(0x14f)]===0x0,_0x28e6e5(0x148)+_0x4ad048+'\x20has\x20resources.'),assertVerified(_0x866d80[_0x28e6e5(0x153)]===0x0,_0x28e6e5(0x148)+_0x4ad048+_0x28e6e5(0x177)),assertVerified(_0x866d80[_0x28e6e5(0x143)]===_0x166c94['sort'],_0x28e6e5(0x148)+_0x4ad048+_0x28e6e5(0x184)),assertVerified(_0x866d80['parentId']===_0x166c94[_0x28e6e5(0x174)],_0x28e6e5(0x148)+_0x4ad048+_0x28e6e5(0x16e)+(_0x866d80[_0x28e6e5(0x174)]??_0x28e6e5(0x15f))+'.'),assertVerified(_0x866d80[_0x28e6e5(0x156)]==null,'Created\x20folder\x20'+_0x4ad048+'\x20unexpectedly\x20owns\x20a\x20page.');const _0x18a6dd=_0x866d80['parentId']==null?undefined:requireFolder(_0x4badf2,_0x866d80['parentId']);assertVerified(_0x866d80[_0x28e6e5(0x140)]===(_0x18a6dd?_0x18a6dd['depth']+0x1:0x0),'Created\x20folder\x20'+_0x4ad048+_0x28e6e5(0x14c));}catch(_0x2066ca){const _0x3c10b6=describeMenuErrorCause(_0x2066ca,_0x28e6e5(0x16f),_0x4ad048),_0x242a29=asVerificationError(_0x2066ca,_0x28e6e5(0x15b)+_0x4ad048+_0x28e6e5(0x13d));throw menuFailure(_0x242a29,_0x522650,{'stage':_0x28e6e5(0x15d),'succeeded':[{'id':_0x4ad048,'created':!![],'path':_0x37e44f}],'failed':{'id':_0x4ad048,'finalFactsConfirmed':![],..._0x3c10b6},'warnings':[_0x28e6e5(0x15b)+_0x4ad048+_0x28e6e5(0x160)],'after':_0x23a3ce??{..._0x166c94,'id':_0x4ad048,'path':_0x37e44f},'verification':{'status':_0x28e6e5(0x13a),'lookupCommand':_0x28e6e5(0x154),'targetId':_0x4ad048}});}const _0x34b99e=mutationResult({..._0x522650,'after':_0x866d80,'dryRun':![],'succeeded':[{'id':_0x4ad048,'type':_0x28e6e5(0x180),'path':_0x37e44f}],'verification':{'checkedBy':_0x28e6e5(0x168),'snapshotHash':_0x4badf2[_0x28e6e5(0x17f)],'folder':!![],'path':_0x37e44f,'emptyResources':!![]}});return{'ok':!![],'data':_0x34b99e,'message':_0x28e6e5(0x182)+_0x4ad048+'.'};}};function validateCreateInput(_0x1f86eb){const _0x1614ea=a111_0x5950e1,_0x323bfd=_0x1f86eb['str'](_0x1614ea(0x141))[_0x1614ea(0x144)]();if(!_0x323bfd)throw CliErrors['flagMissing'](_0x1614ea(0x141));parseParentId(_0x1f86eb,_0x1614ea(0x147)),validateSort(_0x1f86eb);}async function buildCreatePlan(_0x496c89,_0x5a8d0c){const _0x4706c7=a111_0x5950e1,_0x22c8a0=await fetchMutationSnapshot(_0x496c89,_0x4706c7(0x157)),_0x3b65cd=parseParentId(_0x496c89,'parent-id')??null;if(_0x3b65cd!=null)requireFolder(_0x22c8a0,_0x3b65cd);const _0x1afa79=validateSort(_0x496c89),_0x4cfd41=_0x1afa79??nextSiblingSort(_0x22c8a0,_0x3b65cd,_0x4706c7(0x180)),_0x5505b6=_0x496c89[_0x4706c7(0x15e)](_0x4706c7(0x141))[_0x4706c7(0x144)]();return mutationResult({'operation':_0x4706c7(0x173),'selector':{'label':_0x5505b6,'parentId':_0x3b65cd},'before':null,'after':{'id':null,'parentId':_0x3b65cd,'label':_0x5505b6,'path':_0x4706c7(0x17d),'type':'folder','visible':!![],'sort':_0x4cfd41,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x5a8d0c,'backend':[...BACKEND],'plannedActions':[{'stage':_0x4706c7(0x13e),'method':_0x4706c7(0x179),'path':_0x4706c7(0x181),'body':{'parentId':toApiParentId(_0x3b65cd),'label':_0x5505b6,'type':'folder','visible':!![],'sort':_0x4cfd41,'extend':{}}}],'snapshotHash':_0x22c8a0[_0x4706c7(0x17f)],'warnings':['The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.']});}
|
|
1
|
+
const a111_0xce6f3b=a111_0x22b5;(function(_0x2607f6,_0x2c0328){const _0x3982a0=a111_0x22b5,_0x59606a=_0x2607f6();while(!![]){try{const _0x39b10b=parseInt(_0x3982a0(0xf5))/0x1*(parseInt(_0x3982a0(0x12d))/0x2)+-parseInt(_0x3982a0(0xef))/0x3+-parseInt(_0x3982a0(0x125))/0x4*(parseInt(_0x3982a0(0x10f))/0x5)+-parseInt(_0x3982a0(0x11d))/0x6+-parseInt(_0x3982a0(0xf0))/0x7*(-parseInt(_0x3982a0(0x114))/0x8)+parseInt(_0x3982a0(0xfd))/0x9+parseInt(_0x3982a0(0x104))/0xa*(parseInt(_0x3982a0(0x130))/0xb);if(_0x39b10b===_0x2c0328)break;else _0x59606a['push'](_0x59606a['shift']());}catch(_0x52b165){_0x59606a['push'](_0x59606a['shift']());}}}(a111_0x8a53,0x66779));function a111_0x8a53(){const _0x15430b=['appCode','write','\x20is\x20not\x20type\x20folder.','2598948HHgRed','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','Would\x20create\x20empty\x20folder\x20\x22','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.','failed','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','12805430TJyJtO','path','\x20has\x20unexpected\x20parent\x20','stringify','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts','cookie','rabetbase\x20menu\x20list\x20--format\x20json','Menu\x20create\x20response\x20for\x20folder\x20','flagMissing','str','50pUDLRg','string','\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.','verify\x20folder\x20creation','\x20has\x20an\x20unexpected\x20sort.','491896rIycQa','parentId','folder','create','depth','trim','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','type','menu_create_response_invalid','3742230OrnUUO','\x20is\x20not\x20visible.','\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract','\x20may\x20exist\x20online\x20at\x20path\x20','verification','Created\x20menu\x20folder\x20','sort','parent-id','185116PhAYwr','menu\x20list','POST','label','Created\x20folder\x20','length','Folder\x20label','Created\x20menu\x20','6718BAsQvv','/smartapi/menu/create','Folder\x20','11CRCCki','create\x20folder','get','Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','666039xfwGtB','7homAiC','root','\x20is\x20missing\x20from\x20menu\x20list.','create-response-validation','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','29nbzhXo','resources',';\x20verify\x20it\x20before\x20retrying.','hash','\x20has\x20an\x20unexpected\x20label.'];a111_0x8a53=function(){return _0x15430b;};return a111_0x8a53();}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a111_0xce6f3b(0x127),'path':a111_0xce6f3b(0x12e)}];function a111_0x22b5(_0x298c12,_0x43b75f){_0x298c12=_0x298c12-0xee;const _0x8a5374=a111_0x8a53();let _0x22b524=_0x8a5374[_0x298c12];return _0x22b524;}export const menuGroupCreate={'service':'menu','command':'group-create','description':a111_0xce6f3b(0xee),'risk':a111_0xce6f3b(0xfb),'structuredErrors':!![],'flags':[{'name':a111_0xce6f3b(0x128),'type':a111_0xce6f3b(0x110),'required':!![],'description':a111_0xce6f3b(0x12b)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x3c1fbb){validateCreateInput(_0x3c1fbb);},async 'dryRun'(_0x4560a8){const _0x18bd56=a111_0xce6f3b,_0x38ba52=await buildCreatePlan(_0x4560a8,!![]),_0x5d1bf1=_0x38ba52['after'];return menuDryRunResult(_0x38ba52,{'method':_0x18bd56(0x127),'url':_0x18bd56(0x12e),'body':{'parentId':toApiParentId(_0x5d1bf1['parentId']),'label':_0x5d1bf1[_0x18bd56(0x128)],'type':_0x18bd56(0x116),'visible':!![],'sort':_0x5d1bf1[_0x18bd56(0x123)],'extend':{}},'description':_0x18bd56(0xff)+String(_0x5d1bf1[_0x18bd56(0x128)])+'\x22\x20with\x20a\x20platform-generated\x20path.'});},async 'execute'(_0x198a23){const _0x41bb3c=a111_0xce6f3b;validateCreateInput(_0x198a23);const _0x5038f7=await buildCreatePlan(_0x198a23,![]),_0x241008=_0x5038f7['after'];await recheckMutationSnapshot(_0x198a23,_0x5038f7,'create\x20folder');let _0x175b38;try{_0x175b38=await createMenuEntity(_0x198a23[_0x41bb3c(0xfa)],_0x198a23[_0x41bb3c(0x10a)],{'parentId':toApiParentId(_0x241008[_0x41bb3c(0x115)]),'label':String(_0x241008['label']),'type':_0x41bb3c(0x116),'visible':!![],'sort':Number(_0x241008['sort']),'extend':{}});}catch(_0x31c7b1){const _0x36eea5=mapMenuApiError(_0x31c7b1,_0x41bb3c(0x131));throw menuFailure(_0x36eea5,_0x5038f7,{'stage':_0x41bb3c(0x117),'failed':{}});}const _0x418b54=Number(_0x175b38['id']);if(!Number['isSafeInteger'](_0x418b54)||_0x418b54<=0x0){const _0x405307=menuError('menu_create_response_invalid','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.',_0x41bb3c(0x103));throw menuFailure(_0x405307,_0x5038f7,{'stage':'create-response-validation','failed':{'createdId':_0x175b38['id']??null},'warnings':[_0x41bb3c(0x11a)],'verification':{'status':_0x41bb3c(0x101),'lookupCommand':_0x41bb3c(0x10b)}});}const _0x196ba6=typeof _0x175b38[_0x41bb3c(0x105)]===_0x41bb3c(0x110)?_0x175b38[_0x41bb3c(0x105)]:'';if(!_0x196ba6['trim']()){const _0x4aa1f6=menuError(_0x41bb3c(0x11c),_0x41bb3c(0x10c)+_0x418b54+_0x41bb3c(0xfe),_0x41bb3c(0x100));throw menuFailure(_0x4aa1f6,_0x5038f7,{'stage':_0x41bb3c(0xf3),'succeeded':[{'id':_0x418b54,'created':!![]}],'failed':{'id':_0x418b54,'generatedPathConfirmed':![]},'warnings':[_0x41bb3c(0x12f)+_0x418b54+_0x41bb3c(0x111)],'after':{..._0x241008,'id':_0x418b54,'path':_0x196ba6},'verification':{'status':'failed','lookupCommand':_0x41bb3c(0x10b),'targetId':_0x418b54}});}let _0x5e583b;try{_0x5e583b=await fetchMenuSnapshot(_0x198a23['appCode'],_0x198a23['cookie']);}catch(_0x1a751d){const _0x40ebb1=describeMenuErrorCause(_0x1a751d,_0x41bb3c(0x112),_0x418b54),_0x69fa81=asVerificationError(_0x1a751d,_0x41bb3c(0x12f)+_0x418b54+_0x41bb3c(0x109));throw menuFailure(_0x69fa81,_0x5038f7,{'stage':'verification','succeeded':[{'id':_0x418b54,'created':!![],'path':_0x196ba6}],'failed':{'id':_0x418b54,'finalFactsConfirmed':![],..._0x40ebb1},'warnings':[_0x41bb3c(0x12f)+_0x418b54+_0x41bb3c(0x120)+JSON[_0x41bb3c(0x107)](_0x196ba6)+_0x41bb3c(0xf7)],'after':{..._0x241008,'id':_0x418b54,'path':_0x196ba6},'verification':{'status':'failed','lookupCommand':_0x41bb3c(0x10b),'targetId':_0x418b54}});}const _0x5cefe8=_0x5e583b['byId'][_0x41bb3c(0x132)](_0x418b54);let _0x113846;try{assertVerified(Boolean(_0x5cefe8),_0x41bb3c(0x129)+_0x418b54+_0x41bb3c(0xf2)),_0x113846=_0x5cefe8,assertVerified(_0x113846[_0x41bb3c(0x11b)]===_0x41bb3c(0x116),_0x41bb3c(0x12c)+_0x418b54+_0x41bb3c(0xfc)),assertVerified(_0x113846[_0x41bb3c(0x128)]===_0x241008['label'],_0x41bb3c(0x129)+_0x418b54+_0x41bb3c(0xf9)),assertVerified(_0x113846['path']===_0x196ba6&&Boolean(_0x113846[_0x41bb3c(0x105)][_0x41bb3c(0x119)]()),'Created\x20folder\x20'+_0x418b54+_0x41bb3c(0x108)),assertVerified(_0x113846['visible']===!![],_0x41bb3c(0x129)+_0x418b54+_0x41bb3c(0x11e)),assertVerified(_0x113846[_0x41bb3c(0xf6)][_0x41bb3c(0x12a)]===0x0,_0x41bb3c(0x129)+_0x418b54+'\x20has\x20resources.'),assertVerified(_0x113846['childrenCount']===0x0,_0x41bb3c(0x129)+_0x418b54+'\x20is\x20not\x20empty.'),assertVerified(_0x113846[_0x41bb3c(0x123)]===_0x241008['sort'],_0x41bb3c(0x129)+_0x418b54+_0x41bb3c(0x113)),assertVerified(_0x113846[_0x41bb3c(0x115)]===_0x241008[_0x41bb3c(0x115)],_0x41bb3c(0x129)+_0x418b54+_0x41bb3c(0x106)+(_0x113846[_0x41bb3c(0x115)]??_0x41bb3c(0xf1))+'.'),assertVerified(_0x113846['pageId']==null,_0x41bb3c(0x129)+_0x418b54+'\x20unexpectedly\x20owns\x20a\x20page.');const _0x4bc507=_0x113846['parentId']==null?undefined:requireFolder(_0x5e583b,_0x113846['parentId']);assertVerified(_0x113846[_0x41bb3c(0x118)]===(_0x4bc507?_0x4bc507[_0x41bb3c(0x118)]+0x1:0x0),'Created\x20folder\x20'+_0x418b54+_0x41bb3c(0x102));}catch(_0x228fff){const _0x27f245=describeMenuErrorCause(_0x228fff,_0x41bb3c(0x112),_0x418b54),_0x5cdf1a=asVerificationError(_0x228fff,_0x41bb3c(0x12f)+_0x418b54+_0x41bb3c(0x11f));throw menuFailure(_0x5cdf1a,_0x5038f7,{'stage':_0x41bb3c(0x121),'succeeded':[{'id':_0x418b54,'created':!![],'path':_0x196ba6}],'failed':{'id':_0x418b54,'finalFactsConfirmed':![],..._0x27f245},'warnings':['Folder\x20'+_0x418b54+_0x41bb3c(0xf4)],'after':_0x5cefe8??{..._0x241008,'id':_0x418b54,'path':_0x196ba6},'verification':{'status':_0x41bb3c(0x101),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x418b54}});}const _0x576b31=mutationResult({..._0x5038f7,'after':_0x113846,'dryRun':![],'succeeded':[{'id':_0x418b54,'type':_0x41bb3c(0x116),'path':_0x196ba6}],'verification':{'checkedBy':_0x41bb3c(0x126),'snapshotHash':_0x5e583b[_0x41bb3c(0xf8)],'folder':!![],'path':_0x196ba6,'emptyResources':!![]}});return{'ok':!![],'data':_0x576b31,'message':_0x41bb3c(0x122)+_0x418b54+'.'};}};function validateCreateInput(_0x446f81){const _0x567b5c=a111_0xce6f3b,_0x169a3c=_0x446f81[_0x567b5c(0x10e)](_0x567b5c(0x128))[_0x567b5c(0x119)]();if(!_0x169a3c)throw CliErrors[_0x567b5c(0x10d)](_0x567b5c(0x128));parseParentId(_0x446f81,_0x567b5c(0x124)),validateSort(_0x446f81);}async function buildCreatePlan(_0x53aef5,_0x3687c7){const _0x20390d=a111_0xce6f3b,_0x20d3a6=await fetchMutationSnapshot(_0x53aef5,_0x20390d(0x131)),_0x4a400a=parseParentId(_0x53aef5,_0x20390d(0x124))??null;if(_0x4a400a!=null)requireFolder(_0x20d3a6,_0x4a400a);const _0x4aee3e=validateSort(_0x53aef5),_0x1c8786=_0x4aee3e??nextSiblingSort(_0x20d3a6,_0x4a400a,_0x20390d(0x116)),_0x4f07ff=_0x53aef5[_0x20390d(0x10e)]('label')[_0x20390d(0x119)]();return mutationResult({'operation':'group-create','selector':{'label':_0x4f07ff,'parentId':_0x4a400a},'before':null,'after':{'id':null,'parentId':_0x4a400a,'label':_0x4f07ff,'path':'<platform-generated>','type':'folder','visible':!![],'sort':_0x1c8786,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x3687c7,'backend':[...BACKEND],'plannedActions':[{'stage':'create-folder','method':_0x20390d(0x127),'path':_0x20390d(0x12e),'body':{'parentId':toApiParentId(_0x4a400a),'label':_0x4f07ff,'type':_0x20390d(0x116),'visible':!![],'sort':_0x1c8786,'extend':{}}}],'snapshotHash':_0x20d3a6[_0x20390d(0xf8)],'warnings':['The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.']});}
|