@lovrabet/lovrabet-cli 2.2.3 → 2.2.4-beta.1
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/cli.js +1 -1
- package/lib/commands/api-doc/index.js +1 -1
- package/lib/commands/app/cache.js +1 -1
- package/lib/commands/app/definitions.js +1 -1
- package/lib/commands/app/eligibility.js +1 -1
- package/lib/commands/app/mock-loader.js +1 -1
- package/lib/commands/app/remote-source.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/artifact/index.js +1 -1
- package/lib/commands/auth/device.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/auth/prompt.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/exec.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/common/config-policy.js +1 -1
- package/lib/commands/common/constraints.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/config/definitions.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/data/index.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/sdk-doc.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/init.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/notification/config-list.d.ts +2 -0
- package/lib/commands/notification/config-list.js +1 -0
- package/lib/commands/notification/index.d.ts +2 -0
- package/lib/commands/notification/index.js +1 -0
- package/lib/commands/notification/shared.d.ts +13 -0
- package/lib/commands/notification/shared.js +1 -0
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/permit/dataset-get.d.ts +2 -0
- package/lib/commands/permit/dataset-get.js +1 -0
- package/lib/commands/permit/dataset-set.d.ts +2 -0
- package/lib/commands/permit/dataset-set.js +1 -0
- package/lib/commands/permit/index.d.ts +2 -0
- package/lib/commands/permit/index.js +1 -0
- package/lib/commands/permit/page-get.d.ts +2 -0
- package/lib/commands/permit/page-get.js +1 -0
- package/lib/commands/permit/page-set.d.ts +2 -0
- package/lib/commands/permit/page-set.js +1 -0
- package/lib/commands/permit/role-menus-set.d.ts +2 -0
- package/lib/commands/permit/role-menus-set.js +1 -0
- package/lib/commands/permit/role-menus.d.ts +2 -0
- package/lib/commands/permit/role-menus.js +1 -0
- package/lib/commands/permit/shared.d.ts +52 -0
- package/lib/commands/permit/shared.js +1 -0
- package/lib/commands/personal-bff/index.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/create.d.ts +2 -0
- package/lib/commands/role/create.js +1 -0
- package/lib/commands/role/delete.d.ts +2 -0
- package/lib/commands/role/delete.js +1 -0
- package/lib/commands/role/detail.d.ts +2 -0
- package/lib/commands/role/detail.js +1 -0
- package/lib/commands/role/index.d.ts +2 -0
- package/lib/commands/role/index.js +1 -0
- package/lib/commands/role/list.d.ts +2 -0
- package/lib/commands/role/list.js +1 -0
- package/lib/commands/role/shared.d.ts +33 -0
- package/lib/commands/role/shared.js +1 -0
- package/lib/commands/role/update.d.ts +2 -0
- package/lib/commands/role/update.js +1 -0
- package/lib/commands/role/user-add.d.ts +2 -0
- package/lib/commands/role/user-add.js +1 -0
- package/lib/commands/role/user-remove.d.ts +2 -0
- package/lib/commands/role/user-remove.js +1 -0
- package/lib/commands/schedule/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/service/dynamic.js +1 -1
- package/lib/commands/service/function-name-adapter.js +1 -1
- package/lib/commands/service/index.js +1 -1
- package/lib/commands/service/registry.js +1 -1
- package/lib/commands/skill/commands/create.js +1 -1
- package/lib/commands/skill/commands/diagram.js +1 -1
- package/lib/commands/skill/commands/install.js +1 -1
- package/lib/commands/skill/commands/list.js +1 -1
- package/lib/commands/skill/commands/push.js +1 -1
- package/lib/commands/skill/commands/validate.js +1 -1
- package/lib/commands/skill/diagram.js +1 -1
- package/lib/commands/skill/flags.js +1 -1
- package/lib/commands/skill/index.js +1 -1
- package/lib/commands/skill/manifest-helpers.js +1 -1
- package/lib/commands/skill/push-execute.js +1 -1
- package/lib/commands/skill/push-flow-helpers.js +1 -1
- package/lib/commands/skill/push-retarget.js +1 -1
- package/lib/commands/skill/scopes.js +1 -1
- package/lib/commands/skill/summary.js +1 -1
- package/lib/commands/skill/templates.js +1 -1
- package/lib/commands/skill/validate.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/update.js +1 -1
- package/lib/commands/user-account/bind.js +1 -1
- package/lib/commands/user-account/index.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/app.js +1 -1
- package/lib/constant/auth-mode.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/distribution.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/product.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/constant/url.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/api-client.d.ts +161 -0
- package/lib/core/api-client.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/sdk-client.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/dryrun.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/preparse.js +1 -1
- package/lib/framework/rate-limit.js +1 -1
- package/lib/framework/raw-flags.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-confirmation.js +1 -1
- package/lib/framework/runner-error.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/service-order.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/postinstall.js +1 -1
- package/lib/runtime/confirmation.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/skills/builtin-skill.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/runtime-skill-sync/constants.js +1 -1
- package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
- package/lib/skills/runtime-skill-sync/hashing.js +1 -1
- package/lib/skills/runtime-skill-sync/install-target.js +1 -1
- package/lib/skills/runtime-skill-sync/links.js +1 -1
- package/lib/skills/runtime-skill-sync/list-local.js +1 -1
- package/lib/skills/runtime-skill-sync/local-files.js +1 -1
- package/lib/skills/runtime-skill-sync/materialize.js +1 -1
- package/lib/skills/runtime-skill-sync/metadata.js +1 -1
- package/lib/skills/runtime-skill-sync/paths.js +1 -1
- package/lib/skills/runtime-skill-sync/push.js +1 -1
- package/lib/skills/runtime-skill-sync/scopes.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
- package/lib/skills/runtime-skill-sync.js +1 -1
- package/lib/skills/skill-presence.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/lossless-json.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
- package/skills/lovrabet/SKILL.md +19 -6
- package/skills/lovrabet/guides/role-and-permission-workflow.md +139 -0
- package/skills/lovrabet/references/lovrabet-auth.md +1 -5
- package/skills/lovrabet/references/lovrabet-notification-config-list.md +81 -0
- package/skills/lovrabet.manifest.json +5 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
const a35_0x52c635=a35_0x4aaa;(function(_0xe7b9a0,_0x553b5a){const _0x579b03=a35_0x4aaa,_0xa9e7f=_0xe7b9a0();while(!![]){try{const _0x92e09e=parseInt(_0x579b03(0x1db))/0x1*(-parseInt(_0x579b03(0x1ce))/0x2)+parseInt(_0x579b03(0x1e3))/0x3*(parseInt(_0x579b03(0x1ea))/0x4)+parseInt(_0x579b03(0x1f0))/0x5*(-parseInt(_0x579b03(0x1cf))/0x6)+parseInt(_0x579b03(0x1bf))/0x7*(-parseInt(_0x579b03(0x1c6))/0x8)+-parseInt(_0x579b03(0x1ca))/0x9+parseInt(_0x579b03(0x1d8))/0xa*(parseInt(_0x579b03(0x1f3))/0xb)+parseInt(_0x579b03(0x1c5))/0xc;if(_0x92e09e===_0x553b5a)break;else _0xa9e7f['push'](_0xa9e7f['shift']());}catch(_0x29b2e5){_0xa9e7f['push'](_0xa9e7f['shift']());}}}(a35_0x22a7,0x734c7));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalBff,executePersonalBff,getPersonalBff,listPersonalBffs,updatePersonalBff}from'../../core/api-client.js';import{ID_FLAG,PARAMS_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';function a35_0x22a7(){const _0x49a617=['createTime','isFile','functionName','/client/runtime-bff/personal/','Preview:\x20create\x20personal\x20BFF\x20','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','description','Preview:\x20update\x20personal\x20BFF\x20','gmtModified','personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.','211106xrmNBp','Updated\x20personal\x20BFF\x20','version','personal-bff','根据\x20ID\x20更新个人\x20BFF','scriptContent','19562460EcvpOh','184EnVHnX','Personal\x20BFF\x20script\x20file\x20is\x20blank.','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','file','1132200QZOTHS','执行个人\x20BFF\x20脚本;脚本可能读取或修改业务数据,也可能调用外部服务。','Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders','bool','187614wyRaDi','171318CGoCLg','keys','--params\x20must\x20be\x20a\x20JSON\x20object.','createUserId','verbose','File\x20is\x20not\x20a\x20regular\x20file:\x20','build','trim','update','730xbPQeM','gmtCreate','flag','2LSYBHS','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','params','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','validation','write','read','name','24EtXrKn','/update','POST','body','sourceSessionId','根据本地脚本文件创建个人\x20BFF','length','16308zawTFc','str','Show\x20one\x20personal\x20BFF\x20by\x20id','source-session-id','create','num','140wXktxd','Personal\x20BFF\x20description','appCode','92818cYoNTM','Executed\x20personal\x20BFF\x20','根据\x20ID\x20执行个人\x20BFF,并可传入\x20JSON\x20参数','string','exec','test','Personal\x20BFF\x20script\x20ID'];a35_0x22a7=function(){return _0x49a617;};return a35_0x22a7();}import{dryRun}from'../../framework/dryrun.js';import{parseJsonParams}from'../../utils/params.js';const FUNCTION_NAME_PATTERN=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,FILE_FLAG={'name':a35_0x52c635(0x1c9),'type':a35_0x52c635(0x1f6),'description':a35_0x52c635(0x1c8)},FUNCTION_NAME_FLAG={'name':'name','type':a35_0x52c635(0x1f6),'required':!![],'description':a35_0x52c635(0x1cc)},DESCRIPTION_FLAG={'name':'description','type':a35_0x52c635(0x1f6),'description':a35_0x52c635(0x1f1)},SOURCE_SESSION_FLAG={'name':a35_0x52c635(0x1ed),'type':a35_0x52c635(0x1f6),'description':'Optional\x20source\x20RuntimeAgent\x20session\x20id'};function normalizeFunctionName(_0x9fbb38){const _0x292ca9=a35_0x52c635,_0xf8be80=String(_0x9fbb38||'')[_0x292ca9(0x1d6)]();if(!_0xf8be80||!FUNCTION_NAME_PATTERN[_0x292ca9(0x1f8)](_0xf8be80))throw CliErrors[_0x292ca9(0x1df)](_0x292ca9(0x1ba));return _0xf8be80;}function readScriptFile(_0x37d756){const _0x2c53b6=a35_0x52c635;if(!_0x37d756)throw CliErrors[_0x2c53b6(0x1df)]('File\x20path\x20is\x20required.');if(!existsSync(_0x37d756))throw CliErrors[_0x2c53b6(0x1df)]('File\x20not\x20found:\x20'+_0x37d756);if(!statSync(_0x37d756)[_0x2c53b6(0x1b6)]())throw CliErrors[_0x2c53b6(0x1df)](_0x2c53b6(0x1d4)+_0x37d756);const _0x134881=readFileSync(_0x37d756,'utf8');if(!_0x134881[_0x2c53b6(0x1d6)]())throw CliErrors[_0x2c53b6(0x1df)](_0x2c53b6(0x1c7));return _0x134881;}function optionalTrimmed(_0x4e7267){const _0x1d65be=String(_0x4e7267||'')['trim']();return _0x1d65be||undefined;}function summarizeBff(_0x4ee159){const _0x154c31=a35_0x52c635;return{'id':_0x4ee159['id'],'appCode':_0x4ee159['appCode'],'functionName':_0x4ee159[_0x154c31(0x1b7)],'description':_0x4ee159[_0x154c31(0x1bb)],'scriptType':_0x4ee159['scriptType'],'version':_0x4ee159[_0x154c31(0x1c1)],'gmtModified':_0x4ee159[_0x154c31(0x1bd)],'updateTime':_0x4ee159['updateTime']};}function a35_0x4aaa(_0x3d2146,_0x480a91){_0x3d2146=_0x3d2146-0x1b5;const _0x22a701=a35_0x22a7();let _0x4aaacc=_0x22a701[_0x3d2146];return _0x4aaacc;}function detailBff(_0x466a01){const _0x29a849=a35_0x52c635;return{'id':_0x466a01['id'],'appCode':_0x466a01['appCode'],'functionName':_0x466a01[_0x29a849(0x1b7)],'description':_0x466a01['description'],'scriptType':_0x466a01['scriptType'],'scriptContent':_0x466a01['scriptContent']??'','config':_0x466a01['config'],'version':_0x466a01[_0x29a849(0x1c1)],'createUserId':_0x466a01[_0x29a849(0x1d2)],'gmtCreate':_0x466a01[_0x29a849(0x1d9)],'gmtModified':_0x466a01[_0x29a849(0x1bd)],'createTime':_0x466a01[_0x29a849(0x1b5)],'updateTime':_0x466a01['updateTime']};}function buildCreateInput(_0x1ef161){const _0x27ef60=a35_0x52c635;return{'functionName':normalizeFunctionName(_0x1ef161['str'](_0x27ef60(0x1e2))),...optionalTrimmed(_0x1ef161[_0x27ef60(0x1eb)]('description'))?{'description':optionalTrimmed(_0x1ef161[_0x27ef60(0x1eb)](_0x27ef60(0x1bb)))}:{},'scriptContent':readScriptFile(_0x1ef161[_0x27ef60(0x1eb)](_0x27ef60(0x1c9))),...optionalTrimmed(_0x1ef161['str'](_0x27ef60(0x1ed)))?{'sourceSessionId':optionalTrimmed(_0x1ef161[_0x27ef60(0x1eb)]('source-session-id'))}:{}};}function buildUpdateInput(_0x5f3484){const _0x1eb22a=a35_0x52c635,_0x33234f={};optionalTrimmed(_0x5f3484['str'](_0x1eb22a(0x1e2)))&&(_0x33234f['functionName']=normalizeFunctionName(_0x5f3484[_0x1eb22a(0x1eb)](_0x1eb22a(0x1e2))));_0x5f3484[_0x1eb22a(0x1da)](_0x1eb22a(0x1bb))!==undefined&&(_0x33234f[_0x1eb22a(0x1bb)]=_0x5f3484[_0x1eb22a(0x1eb)]('description'));optionalTrimmed(_0x5f3484['str'](_0x1eb22a(0x1c9)))&&(_0x33234f[_0x1eb22a(0x1c4)]=readScriptFile(_0x5f3484[_0x1eb22a(0x1eb)](_0x1eb22a(0x1c9))));_0x5f3484[_0x1eb22a(0x1da)](_0x1eb22a(0x1ed))!==undefined&&(_0x33234f[_0x1eb22a(0x1e7)]=_0x5f3484[_0x1eb22a(0x1eb)]('source-session-id'));if(Object[_0x1eb22a(0x1d0)](_0x33234f)[_0x1eb22a(0x1e9)]===0x0)throw CliErrors[_0x1eb22a(0x1df)](_0x1eb22a(0x1be));return _0x33234f;}function parseExecParams(_0x5bc4c4){const _0x23e74f=a35_0x52c635,_0x4614e6=parseJsonParams(_0x5bc4c4)??{};if(Array['isArray'](_0x4614e6))throw CliErrors[_0x23e74f(0x1df)](_0x23e74f(0x1d1));return _0x4614e6;}const personalBffList={'service':'personal-bff','command':'list','description':a35_0x52c635(0x1dc),'risk':a35_0x52c635(0x1e1),'flags':[VERBOSE_FLAG],async 'execute'(_0x217447){const _0x17e61b=a35_0x52c635,_0xbefb3=await listPersonalBffs(_0x217447['appCode']);return{'ok':!![],'data':{'total':_0xbefb3[_0x17e61b(0x1e9)],'items':_0x217447[_0x17e61b(0x1cd)](_0x17e61b(0x1d3))?_0xbefb3:_0xbefb3['map'](summarizeBff)}};}},personalBffDetail={'service':a35_0x52c635(0x1c2),'command':'detail','description':a35_0x52c635(0x1ec),'risk':a35_0x52c635(0x1e1),'flags':[{...ID_FLAG,'description':a35_0x52c635(0x1f9)}],async 'execute'(_0x6e49f4){const _0x1a8b4a=await getPersonalBff(_0x6e49f4['num']('id'),_0x6e49f4['appCode']);return{'ok':!![],'data':detailBff(_0x1a8b4a)};}},personalBffCreate={'service':a35_0x52c635(0x1c2),'command':a35_0x52c635(0x1ee),'description':a35_0x52c635(0x1e8),'risk':a35_0x52c635(0x1e0),'confirmationDescription':'把本地脚本保存为个人\x20BFF;之后可在当前应用中调用该脚本。','flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x39de0a){const _0x799d=a35_0x52c635,_0x841900=buildCreateInput(_0x39de0a),_0x142b6d=await createPersonalBff(_0x39de0a[_0x799d(0x1f2)],_0x841900);return{'ok':!![],'data':detailBff(_0x142b6d),'message':'Created\x20personal\x20BFF\x20'+_0x142b6d['id']+(_0x142b6d[_0x799d(0x1b7)]?'\x20('+_0x142b6d[_0x799d(0x1b7)]+')':'')};},async 'dryRun'(_0x1597f1){const _0x2db516=a35_0x52c635,_0x14263f=buildCreateInput(_0x1597f1);return dryRun(_0x2db516(0x1e5),'/client/runtime-bff/personal/create')[_0x2db516(0x1e6)]({'appCode':_0x1597f1['appCode'],..._0x14263f})[_0x2db516(0x1bb)](_0x2db516(0x1b9)+_0x14263f[_0x2db516(0x1b7)])['build']();}},personalBffUpdate={'service':'personal-bff','command':a35_0x52c635(0x1d7),'description':a35_0x52c635(0x1c3),'risk':a35_0x52c635(0x1e0),'confirmationDescription':'更新个人\x20BFF\x20的脚本或元信息;之后的调用将使用新版本。','flags':[{...ID_FLAG,'description':a35_0x52c635(0x1f9)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x5c445c){const _0x84971=a35_0x52c635,_0x366ad5=_0x5c445c[_0x84971(0x1ef)]('id'),_0x42bdf8=buildUpdateInput(_0x5c445c),_0x1ea888=await updatePersonalBff(_0x366ad5,_0x5c445c['appCode'],_0x42bdf8);return{'ok':!![],'data':detailBff(_0x1ea888),'message':_0x84971(0x1c0)+_0x1ea888['id']+(_0x1ea888[_0x84971(0x1b7)]?'\x20('+_0x1ea888['functionName']+')':'')};},async 'dryRun'(_0xaa20c4){const _0xd0d99b=a35_0x52c635,_0x4b7990=_0xaa20c4[_0xd0d99b(0x1ef)]('id'),_0x349fb2=buildUpdateInput(_0xaa20c4);return dryRun(_0xd0d99b(0x1e5),_0xd0d99b(0x1b8)+_0x4b7990+_0xd0d99b(0x1e4))[_0xd0d99b(0x1e6)]({'appCode':_0xaa20c4[_0xd0d99b(0x1f2)],..._0x349fb2})[_0xd0d99b(0x1bb)](_0xd0d99b(0x1bc)+_0x4b7990)[_0xd0d99b(0x1d5)]();}},personalBffExec={'service':a35_0x52c635(0x1c2),'command':a35_0x52c635(0x1f7),'description':a35_0x52c635(0x1f5),'risk':a35_0x52c635(0x1e0),'confirmationDescription':a35_0x52c635(0x1cb),'flags':[{...ID_FLAG,'description':a35_0x52c635(0x1f9)},{...PARAMS_FLAG,'description':a35_0x52c635(0x1de)}],async 'validate'(_0x4c6bae){const _0x4043a3=a35_0x52c635;parseExecParams(_0x4c6bae['str'](_0x4043a3(0x1dd)));},async 'execute'(_0x2a254d){const _0x27ab4c=a35_0x52c635,_0x3c0a59=_0x2a254d[_0x27ab4c(0x1ef)]('id'),_0x155f1d=parseExecParams(_0x2a254d[_0x27ab4c(0x1eb)]('params')),_0x15f26a=await executePersonalBff(_0x3c0a59,_0x2a254d[_0x27ab4c(0x1f2)],_0x155f1d);return{'ok':!![],'data':{'result':_0x15f26a},'message':_0x27ab4c(0x1f4)+_0x3c0a59};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
|
|
1
|
+
const a46_0x2aa409=a46_0x13a1;(function(_0x2a74fd,_0x37f90e){const _0x89d9ec=a46_0x13a1,_0x319744=_0x2a74fd();while(!![]){try{const _0x2a5cee=parseInt(_0x89d9ec(0xb7))/0x1+-parseInt(_0x89d9ec(0xda))/0x2*(parseInt(_0x89d9ec(0xbf))/0x3)+parseInt(_0x89d9ec(0xd6))/0x4+parseInt(_0x89d9ec(0xe1))/0x5+-parseInt(_0x89d9ec(0xa8))/0x6+-parseInt(_0x89d9ec(0xb6))/0x7+parseInt(_0x89d9ec(0xc0))/0x8;if(_0x2a5cee===_0x37f90e)break;else _0x319744['push'](_0x319744['shift']());}catch(_0x2393ab){_0x319744['push'](_0x319744['shift']());}}}(a46_0xae56,0xedf9e));import{existsSync,readFileSync,statSync}from'node:fs';function a46_0xae56(){const _0x54c019=['read','File\x20is\x20not\x20a\x20regular\x20file:\x20','length','3855QXiepu','36825464upZHzB','config','Personal\x20BFF\x20script\x20file\x20is\x20blank.','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','File\x20path\x20is\x20required.','Updated\x20personal\x20BFF\x20','num','scriptContent','根据本地脚本文件创建个人\x20BFF','map','isArray','scriptType','--params\x20must\x20be\x20a\x20JSON\x20object.','validation','/update','执行个人\x20BFF\x20脚本;脚本可能读取或修改业务数据,也可能调用外部服务。','source-session-id','body','personal-bff','flag','appCode','398380tQJuTV','write','description','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','2362IzDCua','updateTime','file','string','gmtCreate','POST','gmtModified','3650800mfpvCN','params','/client/runtime-bff/personal/create','Optional\x20source\x20RuntimeAgent\x20session\x20id','list','trim','version','detail','Created\x20personal\x20BFF\x20','personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.','test','9120126uWjScf','name','Personal\x20BFF\x20script\x20ID','bool','utf8','Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders','/client/runtime-bff/personal/','create','verbose','Executed\x20personal\x20BFF\x20','build','functionName','update','Show\x20one\x20personal\x20BFF\x20by\x20id','12476674OrDZCq','361800jJmCVR','把本地脚本保存为个人\x20BFF;之后可在当前应用中调用该脚本。','根据\x20ID\x20执行个人\x20BFF,并可传入\x20JSON\x20参数','keys','str'];a46_0xae56=function(){return _0x54c019;};return a46_0xae56();}import{createPersonalBff,executePersonalBff,getPersonalBff,listPersonalBffs,updatePersonalBff}from'../../core/api-client.js';import{ID_FLAG,PARAMS_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{parseJsonParams}from'../../utils/params.js';const FUNCTION_NAME_PATTERN=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,FILE_FLAG={'name':a46_0x2aa409(0xdc),'type':a46_0x2aa409(0xdd),'description':a46_0x2aa409(0xc4)},FUNCTION_NAME_FLAG={'name':a46_0x2aa409(0xa9),'type':a46_0x2aa409(0xdd),'required':!![],'description':a46_0x2aa409(0xad)},DESCRIPTION_FLAG={'name':a46_0x2aa409(0xd8),'type':a46_0x2aa409(0xdd),'description':'Personal\x20BFF\x20description'},SOURCE_SESSION_FLAG={'name':'source-session-id','type':a46_0x2aa409(0xdd),'description':a46_0x2aa409(0xe4)};function normalizeFunctionName(_0x1a0180){const _0x47ca7a=a46_0x2aa409,_0x1378ed=String(_0x1a0180||'')['trim']();if(!_0x1378ed||!FUNCTION_NAME_PATTERN[_0x47ca7a(0xa7)](_0x1378ed))throw CliErrors['validation'](_0x47ca7a(0xd9));return _0x1378ed;}function readScriptFile(_0x171748){const _0x1a07ed=a46_0x2aa409;if(!_0x171748)throw CliErrors['validation'](_0x1a07ed(0xc5));if(!existsSync(_0x171748))throw CliErrors[_0x1a07ed(0xce)]('File\x20not\x20found:\x20'+_0x171748);if(!statSync(_0x171748)['isFile']())throw CliErrors[_0x1a07ed(0xce)](_0x1a07ed(0xbd)+_0x171748);const _0x11b57c=readFileSync(_0x171748,_0x1a07ed(0xac));if(!_0x11b57c[_0x1a07ed(0xe6)]())throw CliErrors[_0x1a07ed(0xce)](_0x1a07ed(0xc2));return _0x11b57c;}function optionalTrimmed(_0x4ad635){const _0x5af341=a46_0x2aa409,_0x3c6ea7=String(_0x4ad635||'')[_0x5af341(0xe6)]();return _0x3c6ea7||undefined;}function summarizeBff(_0x1582a2){const _0x2d8e6e=a46_0x2aa409;return{'id':_0x1582a2['id'],'appCode':_0x1582a2[_0x2d8e6e(0xd5)],'functionName':_0x1582a2[_0x2d8e6e(0xb3)],'description':_0x1582a2[_0x2d8e6e(0xd8)],'scriptType':_0x1582a2['scriptType'],'version':_0x1582a2['version'],'gmtModified':_0x1582a2[_0x2d8e6e(0xe0)],'updateTime':_0x1582a2['updateTime']};}function detailBff(_0x3d5715){const _0x33815e=a46_0x2aa409;return{'id':_0x3d5715['id'],'appCode':_0x3d5715['appCode'],'functionName':_0x3d5715['functionName'],'description':_0x3d5715[_0x33815e(0xd8)],'scriptType':_0x3d5715[_0x33815e(0xcc)],'scriptContent':_0x3d5715[_0x33815e(0xc8)]??'','config':_0x3d5715[_0x33815e(0xc1)],'version':_0x3d5715[_0x33815e(0xa3)],'createUserId':_0x3d5715['createUserId'],'gmtCreate':_0x3d5715[_0x33815e(0xde)],'gmtModified':_0x3d5715[_0x33815e(0xe0)],'createTime':_0x3d5715['createTime'],'updateTime':_0x3d5715[_0x33815e(0xdb)]};}function buildCreateInput(_0x22d1f7){const _0x18c327=a46_0x2aa409;return{'functionName':normalizeFunctionName(_0x22d1f7[_0x18c327(0xbb)]('name')),...optionalTrimmed(_0x22d1f7['str']('description'))?{'description':optionalTrimmed(_0x22d1f7[_0x18c327(0xbb)](_0x18c327(0xd8)))}:{},'scriptContent':readScriptFile(_0x22d1f7[_0x18c327(0xbb)](_0x18c327(0xdc))),...optionalTrimmed(_0x22d1f7[_0x18c327(0xbb)](_0x18c327(0xd1)))?{'sourceSessionId':optionalTrimmed(_0x22d1f7[_0x18c327(0xbb)](_0x18c327(0xd1)))}:{}};}function buildUpdateInput(_0x221fac){const _0x5626cd=a46_0x2aa409,_0x31f790={};optionalTrimmed(_0x221fac['str'](_0x5626cd(0xa9)))&&(_0x31f790[_0x5626cd(0xb3)]=normalizeFunctionName(_0x221fac[_0x5626cd(0xbb)](_0x5626cd(0xa9))));_0x221fac['flag'](_0x5626cd(0xd8))!==undefined&&(_0x31f790[_0x5626cd(0xd8)]=_0x221fac['str'](_0x5626cd(0xd8)));optionalTrimmed(_0x221fac[_0x5626cd(0xbb)]('file'))&&(_0x31f790[_0x5626cd(0xc8)]=readScriptFile(_0x221fac[_0x5626cd(0xbb)]('file')));_0x221fac[_0x5626cd(0xd4)](_0x5626cd(0xd1))!==undefined&&(_0x31f790['sourceSessionId']=_0x221fac[_0x5626cd(0xbb)]('source-session-id'));if(Object[_0x5626cd(0xba)](_0x31f790)[_0x5626cd(0xbe)]===0x0)throw CliErrors[_0x5626cd(0xce)](_0x5626cd(0xa6));return _0x31f790;}function parseExecParams(_0x2d7279){const _0x3bd3ea=a46_0x2aa409,_0x22e485=parseJsonParams(_0x2d7279)??{};if(Array[_0x3bd3ea(0xcb)](_0x22e485))throw CliErrors[_0x3bd3ea(0xce)](_0x3bd3ea(0xcd));return _0x22e485;}function a46_0x13a1(_0x41f274,_0x2a932a){_0x41f274=_0x41f274-0xa3;const _0xae566=a46_0xae56();let _0x13a109=_0xae566[_0x41f274];return _0x13a109;}const personalBffList={'service':a46_0x2aa409(0xd3),'command':a46_0x2aa409(0xe5),'description':a46_0x2aa409(0xc3),'risk':'read','flags':[VERBOSE_FLAG],async 'execute'(_0x453d42){const _0x44f916=a46_0x2aa409,_0x4956f2=await listPersonalBffs(_0x453d42[_0x44f916(0xd5)]);return{'ok':!![],'data':{'total':_0x4956f2['length'],'items':_0x453d42[_0x44f916(0xab)](_0x44f916(0xb0))?_0x4956f2:_0x4956f2[_0x44f916(0xca)](summarizeBff)}};}},personalBffDetail={'service':a46_0x2aa409(0xd3),'command':a46_0x2aa409(0xa4),'description':a46_0x2aa409(0xb5),'risk':a46_0x2aa409(0xbc),'flags':[{...ID_FLAG,'description':a46_0x2aa409(0xaa)}],async 'execute'(_0x3da794){const _0x45ab53=a46_0x2aa409,_0x34043e=await getPersonalBff(_0x3da794['num']('id'),_0x3da794[_0x45ab53(0xd5)]);return{'ok':!![],'data':detailBff(_0x34043e)};}},personalBffCreate={'service':a46_0x2aa409(0xd3),'command':a46_0x2aa409(0xaf),'description':a46_0x2aa409(0xc9),'risk':'write','confirmationDescription':a46_0x2aa409(0xb8),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x56d59f){const _0x28188d=a46_0x2aa409,_0x1efc5d=buildCreateInput(_0x56d59f),_0x12a919=await createPersonalBff(_0x56d59f[_0x28188d(0xd5)],_0x1efc5d);return{'ok':!![],'data':detailBff(_0x12a919),'message':_0x28188d(0xa5)+_0x12a919['id']+(_0x12a919[_0x28188d(0xb3)]?'\x20('+_0x12a919['functionName']+')':'')};},async 'dryRun'(_0x37d66b){const _0x56c668=a46_0x2aa409,_0x2a6508=buildCreateInput(_0x37d66b);return dryRun(_0x56c668(0xdf),_0x56c668(0xe3))[_0x56c668(0xd2)]({'appCode':_0x37d66b[_0x56c668(0xd5)],..._0x2a6508})[_0x56c668(0xd8)]('Preview:\x20create\x20personal\x20BFF\x20'+_0x2a6508[_0x56c668(0xb3)])['build']();}},personalBffUpdate={'service':a46_0x2aa409(0xd3),'command':a46_0x2aa409(0xb4),'description':'根据\x20ID\x20更新个人\x20BFF','risk':a46_0x2aa409(0xd7),'confirmationDescription':'更新个人\x20BFF\x20的脚本或元信息;之后的调用将使用新版本。','flags':[{...ID_FLAG,'description':a46_0x2aa409(0xaa)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x4e009c){const _0x12ed4b=a46_0x2aa409,_0x317f8d=_0x4e009c[_0x12ed4b(0xc7)]('id'),_0x476b96=buildUpdateInput(_0x4e009c),_0x14d34d=await updatePersonalBff(_0x317f8d,_0x4e009c[_0x12ed4b(0xd5)],_0x476b96);return{'ok':!![],'data':detailBff(_0x14d34d),'message':_0x12ed4b(0xc6)+_0x14d34d['id']+(_0x14d34d[_0x12ed4b(0xb3)]?'\x20('+_0x14d34d[_0x12ed4b(0xb3)]+')':'')};},async 'dryRun'(_0x2c68d8){const _0x46284b=a46_0x2aa409,_0x290186=_0x2c68d8['num']('id'),_0x3ed224=buildUpdateInput(_0x2c68d8);return dryRun('POST',_0x46284b(0xae)+_0x290186+_0x46284b(0xcf))['body']({'appCode':_0x2c68d8[_0x46284b(0xd5)],..._0x3ed224})[_0x46284b(0xd8)]('Preview:\x20update\x20personal\x20BFF\x20'+_0x290186)[_0x46284b(0xb2)]();}},personalBffExec={'service':a46_0x2aa409(0xd3),'command':'exec','description':a46_0x2aa409(0xb9),'risk':a46_0x2aa409(0xd7),'confirmationDescription':a46_0x2aa409(0xd0),'flags':[{...ID_FLAG,'description':'Personal\x20BFF\x20script\x20ID'},{...PARAMS_FLAG,'description':'JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution'}],async 'validate'(_0x2779a3){const _0x222706=a46_0x2aa409;parseExecParams(_0x2779a3[_0x222706(0xbb)](_0x222706(0xe2)));},async 'execute'(_0x22cf7f){const _0x12d738=a46_0x2aa409,_0x4ca1c1=_0x22cf7f[_0x12d738(0xc7)]('id'),_0x49eaf8=parseExecParams(_0x22cf7f[_0x12d738(0xbb)](_0x12d738(0xe2))),_0x5e6325=await executePersonalBff(_0x4ca1c1,_0x22cf7f[_0x12d738(0xd5)],_0x49eaf8);return{'ok':!![],'data':{'result':_0x5e6325},'message':_0x12d738(0xb1)+_0x4ca1c1};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
|
package/lib/commands/registry.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a47_0x4462af=a47_0x40bd;(function(_0x1afba7,_0x3bd988){const _0x5b4ac1=a47_0x40bd,_0x557c07=_0x1afba7();while(!![]){try{const _0x5ec7c6=parseInt(_0x5b4ac1(0x206))/0x1+parseInt(_0x5b4ac1(0x1e4))/0x2+parseInt(_0x5b4ac1(0x21e))/0x3+-parseInt(_0x5b4ac1(0x1fa))/0x4*(-parseInt(_0x5b4ac1(0x214))/0x5)+parseInt(_0x5b4ac1(0x1e2))/0x6*(parseInt(_0x5b4ac1(0x21f))/0x7)+-parseInt(_0x5b4ac1(0x1ec))/0x8+-parseInt(_0x5b4ac1(0x1e8))/0x9;if(_0x5ec7c6===_0x3bd988)break;else _0x557c07['push'](_0x557c07['shift']());}catch(_0x49e965){_0x557c07['push'](_0x557c07['shift']());}}}(a47_0x41df,0xa383c));import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';function a47_0x40bd(_0x548bc2,_0x37ce25){_0x548bc2=_0x548bc2-0x1e2;const _0x41df4c=a47_0x41df();let _0x40bdec=_0x41df4c[_0x548bc2];return _0x40bdec;}import{skillDefinitions}from'../commands/skill/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{serviceDefinitions}from'../commands/service/index.js';import{updateDefinition}from'../commands/update.js';import{doctorDefinition}from'../commands/doctor.js';import{schemaDefinition}from'../commands/schema.js';import{appDefinitions}from'../commands/app/definitions.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/definitions.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{dataDefinitions}from'../commands/data/index.js';import{kbDefinitions}from'../commands/kb/index.js';import{artifactDefinitions}from'../commands/artifact/index.js';import{personalBffDefinitions}from'../commands/personal-bff/index.js';import{apiDocDefinitions}from'../commands/api-doc/index.js';function a47_0x41df(){const _0x33a7b8=['40516XEBILF','1326iLyZpi','Knowledge\x20Base','2478298QrxGqw','set','BFF\x20Scripts','Workspace','34575732VsFRYG','SQL\x20Queries','OCR','read','988032UIIusn','login','File','Service\x20Tree','Skills','app','map','use','Runtime\x20App\x20Config','Artifacts','service','from','Use\x20`lovrabet\x20logs\x20show`\x20to\x20view\x20command\x20history.','list','3919388wSjmfF','install','show','logs','Schema','risk','Logs','logs\x20clear','Personal\x20BFF','Configuration','Diagnostics','isSingleCommand','810632oCnxwF','User\x20Accounts','description','`lovrabet\x20app\x20use`\x20has\x20been\x20removed.','Use\x20`lovrabet\x20workspace\x20init\x20--appcode\x20<code>`\x20instead.','config-list','has','push','write','CLI\x20Built-in\x20Skill','Authentication','run','Runtime\x20Roles','command','5NPkfJE','values','`lovrabet\x20logs\x20clear`\x20has\x20been\x20removed.','init','app\x20use','App\x20Management','Runtime\x20Permissions','get','Notification\x20Configs','\x20\x20[high-risk-write]','978696UPJrtO'];a47_0x41df=function(){return _0x33a7b8;};return a47_0x41df();}import{appConfigDefinitions}from'../commands/app-config/index.js';import{fileDefinitions}from'../commands/file/index.js';import{ocrDefinitions}from'../commands/ocr/index.js';import{scheduleDefinitions}from'../commands/schedule/index.js';import{userAccountDefinitions}from'../commands/user-account/index.js';import{notificationDefinitions}from'../commands/notification/index.js';import{roleDefinitions}from'../commands/role/index.js';import{permitDefinitions}from'../commands/permit/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x206683){const _0x5aeee6=a47_0x40bd;for(const _0x174480 of _0x206683){definitions['set'](_0x174480[_0x5aeee6(0x1f6)]+':'+_0x174480[_0x5aeee6(0x213)],_0x174480);let _0x350741=serviceGroups[_0x5aeee6(0x21b)](_0x174480[_0x5aeee6(0x1f6)]);!_0x350741&&(_0x350741=[],serviceGroups[_0x5aeee6(0x1e5)](_0x174480[_0x5aeee6(0x1f6)],_0x350741)),_0x350741[_0x5aeee6(0x20d)](_0x174480);}}function registerService(_0x330109,_0x4fcc52,_0x433227){const _0x1ca5e2=a47_0x40bd;registerDefinitions(_0x4fcc52);const _0x40397d=_0x2c0a18=>_0x2c0a18===_0x1ca5e2(0x1eb)?'':_0x2c0a18===_0x1ca5e2(0x20e)?'\x20\x20[write]':_0x1ca5e2(0x21d),_0x5f5bd3={'service':_0x4fcc52[0x0][_0x1ca5e2(0x1f6)],'label':_0x330109,'commands':_0x4fcc52[_0x1ca5e2(0x1f2)](_0x2efb14=>({'command':_0x2efb14[_0x1ca5e2(0x213)],'description':_0x2efb14[_0x1ca5e2(0x208)],'tag':_0x40397d(_0x2efb14[_0x1ca5e2(0x1ff)])})),'defaultCommand':_0x433227?.['defaultCommand']??(_0x433227?.[_0x1ca5e2(0x205)]?_0x4fcc52[0x0]['command']:undefined),'isSingleCommand':_0x433227?.[_0x1ca5e2(0x205)]};serviceRegistry[_0x1ca5e2(0x20d)](_0x5f5bd3),serviceByName[_0x1ca5e2(0x1e5)](_0x5f5bd3[_0x1ca5e2(0x1f6)],_0x5f5bd3);}registerService(a47_0x4462af(0x210),authDefinitions,{'defaultCommand':a47_0x4462af(0x1ed)}),registerService(a47_0x4462af(0x207),userAccountDefinitions),registerService(a47_0x4462af(0x219),appDefinitions,{'defaultCommand':'list'}),registerService(a47_0x4462af(0x1e7),workspaceDefinitions),registerService(a47_0x4462af(0x1f4),appConfigDefinitions),registerService(a47_0x4462af(0x203),configDefinitions,{'defaultCommand':a47_0x4462af(0x1f9)}),registerService(a47_0x4462af(0x212),roleDefinitions,{'defaultCommand':a47_0x4462af(0x1f9)}),registerService(a47_0x4462af(0x21a),permitDefinitions),registerService('API\x20Documentation',apiDocDefinitions),registerService('Datasets',datasetDefinitions),registerService('Instant\x20API',dataDefinitions),registerService(a47_0x4462af(0x1e9),sqlDefinitions),registerService(a47_0x4462af(0x1e6),bffDefinitions),registerService(a47_0x4462af(0x202),personalBffDefinitions),registerService(a47_0x4462af(0x1f5),artifactDefinitions),registerService(a47_0x4462af(0x1ee),fileDefinitions),registerService(a47_0x4462af(0x1ea),ocrDefinitions),registerService(a47_0x4462af(0x1e3),kbDefinitions),registerService(a47_0x4462af(0x21c),notificationDefinitions,{'defaultCommand':a47_0x4462af(0x20b)}),registerService('Agent\x20Schedules',scheduleDefinitions,{'defaultCommand':'list'}),registerService(a47_0x4462af(0x1ef),serviceDefinitions,{'defaultCommand':'list'}),registerService(a47_0x4462af(0x1f0),skillDefinitions,{'defaultCommand':'install'}),registerService(a47_0x4462af(0x20f),cliSkillDefinitions,{'defaultCommand':a47_0x4462af(0x1fb)}),registerService('Self\x20Update',[updateDefinition],{'defaultCommand':a47_0x4462af(0x211),'isSingleCommand':!![]}),registerService(a47_0x4462af(0x204),[doctorDefinition],{'isSingleCommand':!![]}),registerService(a47_0x4462af(0x1fe),[schemaDefinition],{'isSingleCommand':!![]}),registerService(a47_0x4462af(0x200),logsDefinitions,{'defaultCommand':a47_0x4462af(0x1fc)});export function findDefinition(_0x5658df,_0x2b1494){const _0x5df769=a47_0x4462af;return definitions[_0x5df769(0x21b)](_0x5658df+':'+_0x2b1494);}export function resolveRemovedCommand(_0x184a3c,_0x62d96f){const _0x4ed515=a47_0x4462af;if(_0x184a3c===_0x4ed515(0x1f1)&&_0x62d96f===_0x4ed515(0x217))return{'command':'app\x20init','message':'`lovrabet\x20app\x20init`\x20has\x20been\x20removed.','hint':_0x4ed515(0x20a)};if(_0x184a3c==='app'&&_0x62d96f===_0x4ed515(0x1f3))return{'command':_0x4ed515(0x218),'message':_0x4ed515(0x209),'hint':'Use\x20`lovrabet\x20workspace\x20use\x20--app\x20<name>`\x20instead.'};if(_0x184a3c===_0x4ed515(0x1fd)&&_0x62d96f==='clear')return{'command':_0x4ed515(0x201),'message':_0x4ed515(0x216),'hint':_0x4ed515(0x1f8)};return undefined;}export function isKnownService(_0x5dcf51){const _0x4d9e63=a47_0x4462af;return serviceByName[_0x4d9e63(0x20c)](_0x5dcf51);}export function getServiceEntry(_0x3278e1){return serviceByName['get'](_0x3278e1);}export function getAllDefinitions(){const _0x5eb26c=a47_0x4462af;return Array[_0x5eb26c(0x1f7)](definitions[_0x5eb26c(0x215)]());}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const a48_0x11a3da=a48_0x4db7;function a48_0x1e44(){const _0x4c8336=['4268Zsvdrt','38583564fqiFXO','name','2362AoXoDl','797844TmCBqv','CUSTOM','description','832UDjleS','206338uYQFia','validation','15zUqEPr','/client/permit/role/create','13NnKsWM','body','4551LnVCTB','12495825CvYmwv','string','141491CKVioG','Create\x20a\x20runtime\x20CUSTOM\x20role','role','create','Optional\x20role\x20remark','POST','remark','670ZNAQFs','str','8uNqhZI','trim','--name\x20must\x20not\x20be\x20blank.'];a48_0x1e44=function(){return _0x4c8336;};return a48_0x1e44();}(function(_0x4e4341,_0x4451d6){const _0x3db76b=a48_0x4db7,_0x3b895b=_0x4e4341();while(!![]){try{const _0x4fcdb7=parseInt(_0x3db76b(0x180))/0x1*(-parseInt(_0x3db76b(0x17c))/0x2)+parseInt(_0x3db76b(0x187))/0x3*(-parseInt(_0x3db76b(0x179))/0x4)+-parseInt(_0x3db76b(0x183))/0x5*(-parseInt(_0x3db76b(0x17d))/0x6)+-parseInt(_0x3db76b(0x18a))/0x7*(parseInt(_0x3db76b(0x193))/0x8)+-parseInt(_0x3db76b(0x188))/0x9+parseInt(_0x3db76b(0x191))/0xa*(parseInt(_0x3db76b(0x181))/0xb)+-parseInt(_0x3db76b(0x17a))/0xc*(-parseInt(_0x3db76b(0x185))/0xd);if(_0x4fcdb7===_0x4451d6)break;else _0x3b895b['push'](_0x3b895b['shift']());}catch(_0x3289a1){_0x3b895b['push'](_0x3b895b['shift']());}}}(a48_0x1e44,0xd23d0));import{createRuntimeAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{projectRuntimeRole,runtimeRoleWriteResult}from'../../commands/role/shared.js';function input(_0x1125da){const _0x11de1c=a48_0x4db7,_0x316c61=_0x1125da[_0x11de1c(0x192)](_0x11de1c(0x17b))[_0x11de1c(0x194)]();if(!_0x316c61)throw CliErrors[_0x11de1c(0x182)](_0x11de1c(0x195));const _0x209ef5=_0x1125da[_0x11de1c(0x192)](_0x11de1c(0x190))[_0x11de1c(0x194)]();return{'appCode':_0x1125da['appCode'],'roleName':_0x316c61,..._0x209ef5?{'remark':_0x209ef5}:{}};}function a48_0x4db7(_0x4e0d16,_0x3a5389){_0x4e0d16=_0x4e0d16-0x179;const _0x1e4440=a48_0x1e44();let _0x4db774=_0x1e4440[_0x4e0d16];return _0x4db774;}export const roleCreate={'service':a48_0x11a3da(0x18c),'command':'create','description':a48_0x11a3da(0x18b),'risk':'high-risk-write','confirmationDescription':'在当前运行应用中创建一个自定义角色;创建后可用于成员与资源权限配置。','flags':[{'name':a48_0x11a3da(0x17b),'type':a48_0x11a3da(0x189),'required':!![],'description':'Role\x20name'},{'name':a48_0x11a3da(0x190),'type':a48_0x11a3da(0x189),'description':a48_0x11a3da(0x18e)}],async 'validate'(_0x214f95){input(_0x214f95);},async 'dryRun'(_0x1ac17f){const _0x2e6668=a48_0x11a3da;return dryRun(_0x2e6668(0x18f),'/client/permit/role/create')[_0x2e6668(0x186)]({'roleType':_0x2e6668(0x17e),...input(_0x1ac17f)})[_0x2e6668(0x17f)]('Preview:\x20create\x20a\x20runtime\x20CUSTOM\x20role')['build']();},async 'execute'(_0x2c5e05){const _0x30bf5a=a48_0x11a3da,_0x33f507=await createRuntimeAppRole(input(_0x2c5e05));return{'ok':!![],'data':runtimeRoleWriteResult(_0x30bf5a(0x18d),{'roleId':_0x33f507['id']},null,projectRuntimeRole(_0x33f507),{'method':'POST','path':_0x30bf5a(0x184)})};}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const a49_0x3086ee=a49_0x1803;(function(_0x374ba5,_0x3bebc8){const _0x3ce3aa=a49_0x1803,_0x2e4462=_0x374ba5();while(!![]){try{const _0x987b3=parseInt(_0x3ce3aa(0xb4))/0x1*(parseInt(_0x3ce3aa(0xc0))/0x2)+-parseInt(_0x3ce3aa(0xc5))/0x3+-parseInt(_0x3ce3aa(0xbb))/0x4+parseInt(_0x3ce3aa(0xbd))/0x5*(-parseInt(_0x3ce3aa(0xc2))/0x6)+parseInt(_0x3ce3aa(0xc6))/0x7+-parseInt(_0x3ce3aa(0xc4))/0x8+-parseInt(_0x3ce3aa(0xb9))/0x9*(-parseInt(_0x3ce3aa(0xb5))/0xa);if(_0x987b3===_0x3bebc8)break;else _0x2e4462['push'](_0x2e4462['shift']());}catch(_0x55b14c){_0x2e4462['push'](_0x2e4462['shift']());}}}(a49_0x3b4a,0x5d3c9));import{deleteRuntimeAppRole}from'../../core/api-client.js';function a49_0x1803(_0x3b3623,_0x25d848){_0x3b3623=_0x3b3623-0xb4;const _0x3b4ad4=a49_0x3b4a();let _0x180358=_0x3b4ad4[_0x3b3623];return _0x180358;}import{dryRun}from'../../framework/dryrun.js';function a49_0x3b4a(){const _0x4394e4=['2175753xypZdk','677950lxSMPd','删除当前运行应用中的自定义角色;该角色的成员关系和权限配置可能随之失效。','build','43LEcONZ','1270yAIQwb','body','delete','POST','110781TDskml','Delete\x20a\x20runtime\x20CUSTOM\x20role','1210328MyhOVH','description','48210byRGdk','role','appCode','18174Agaewd','Preview:\x20delete\x20a\x20runtime\x20CUSTOM\x20role','270YOMLlt','/client/permit/role/delete','1657712IKcHBV'];a49_0x3b4a=function(){return _0x4394e4;};return a49_0x3b4a();}import{assertCustomRuntimeRole,getRuntimeRoleById,projectRuntimeRole,ROLE_ID_FLAG,runtimeRoleWriteResult}from'../../commands/role/shared.js';async function prepare(_0xb08e85){const _0x5aca6d=a49_0x1803,_0x5a5cbc=await getRuntimeRoleById(_0xb08e85[_0x5aca6d(0xbf)],_0xb08e85['num']('id'));return assertCustomRuntimeRole(_0x5a5cbc,_0x5aca6d(0xb7)),_0x5a5cbc;}export const roleDelete={'service':a49_0x3086ee(0xbe),'command':a49_0x3086ee(0xb7),'description':a49_0x3086ee(0xba),'risk':'high-risk-write','confirmationDescription':a49_0x3086ee(0xc7),'flags':[ROLE_ID_FLAG],async 'dryRun'(_0x482ed8){const _0x423814=a49_0x3086ee,_0x2b1e6d=await prepare(_0x482ed8);return dryRun(_0x423814(0xb8),_0x423814(0xc3))[_0x423814(0xb6)]({'id':_0x2b1e6d['id']})[_0x423814(0xbc)](_0x423814(0xc1))[_0x423814(0xc8)]();},async 'execute'(_0x4da772){const _0x3fea7b=a49_0x3086ee,_0x3999ae=await prepare(_0x4da772);return await deleteRuntimeAppRole(_0x3999ae['id']),{'ok':!![],'data':runtimeRoleWriteResult(_0x3fea7b(0xb7),{'roleId':_0x3999ae['id']},projectRuntimeRole(_0x3999ae),null,{'method':'POST','path':_0x3fea7b(0xc3)})};}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const a50_0x311c0b=a50_0x4ab9;(function(_0x53e830,_0x5a62d7){const _0x3545ff=a50_0x4ab9,_0x1b84d8=_0x53e830();while(!![]){try{const _0xec1b5b=-parseInt(_0x3545ff(0x6f))/0x1*(-parseInt(_0x3545ff(0x6e))/0x2)+-parseInt(_0x3545ff(0x76))/0x3*(-parseInt(_0x3545ff(0x79))/0x4)+parseInt(_0x3545ff(0x77))/0x5*(-parseInt(_0x3545ff(0x6d))/0x6)+-parseInt(_0x3545ff(0x7a))/0x7*(parseInt(_0x3545ff(0x73))/0x8)+parseInt(_0x3545ff(0x7c))/0x9*(-parseInt(_0x3545ff(0x7d))/0xa)+-parseInt(_0x3545ff(0x74))/0xb+-parseInt(_0x3545ff(0x75))/0xc*(-parseInt(_0x3545ff(0x70))/0xd);if(_0xec1b5b===_0x5a62d7)break;else _0x1b84d8['push'](_0x1b84d8['shift']());}catch(_0x4906c3){_0x1b84d8['push'](_0x1b84d8['shift']());}}}(a50_0x4967,0x2247a));function a50_0x4ab9(_0x42d2e4,_0x5ba418){_0x42d2e4=_0x42d2e4-0x6d;const _0x4967f6=a50_0x4967();let _0x4ab97b=_0x4967f6[_0x42d2e4];return _0x4ab97b;}import{getRuntimeRoleById,projectRuntimeRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';function a50_0x4967(){const _0x1046ee=['8IVMsuI','1461570qjghyu','12LSWBGc','4794qqVcis','4025bronzt','runtime','12fIasbb','1256276QpUEcz','num','27tpWCnc','117410pakZON','1746KAJwGl','34jdwBsr','7186XVXFAV','7738510xqHzVR','read','Show\x20one\x20runtime\x20role\x20by\x20ID'];a50_0x4967=function(){return _0x1046ee;};return a50_0x4967();}export const roleDetail={'service':'role','command':'detail','description':a50_0x311c0b(0x72),'risk':a50_0x311c0b(0x71),'flags':[ROLE_ID_FLAG],async 'execute'(_0x2390dc){const _0x2a0c31=a50_0x311c0b,_0xa3182e=await getRuntimeRoleById(_0x2390dc['appCode'],_0x2390dc[_0x2a0c31(0x7b)]('id'));return{'ok':!![],'data':{'scope':_0x2a0c31(0x78),'role':projectRuntimeRole(_0xa3182e)}};}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function(_0x292e3f,_0x1c6657){const _0x3504e4=a51_0x3ebb,_0x2c7fd9=_0x292e3f();while(!![]){try{const _0x1cca2a=-parseInt(_0x3504e4(0x82))/0x1*(parseInt(_0x3504e4(0x85))/0x2)+parseInt(_0x3504e4(0x7d))/0x3+-parseInt(_0x3504e4(0x83))/0x4*(-parseInt(_0x3504e4(0x86))/0x5)+-parseInt(_0x3504e4(0x80))/0x6*(-parseInt(_0x3504e4(0x87))/0x7)+-parseInt(_0x3504e4(0x81))/0x8+-parseInt(_0x3504e4(0x7e))/0x9+parseInt(_0x3504e4(0x7f))/0xa*(parseInt(_0x3504e4(0x84))/0xb);if(_0x1cca2a===_0x1c6657)break;else _0x2c7fd9['push'](_0x2c7fd9['shift']());}catch(_0x3679e8){_0x2c7fd9['push'](_0x2c7fd9['shift']());}}}(a51_0x1000,0x87088));import{roleList}from'../../commands/role/list.js';import{roleDetail}from'../../commands/role/detail.js';import{roleCreate}from'../../commands/role/create.js';import{roleUpdate}from'../../commands/role/update.js';import{roleDelete}from'../../commands/role/delete.js';function a51_0x3ebb(_0x2577ca,_0x2b9ee4){_0x2577ca=_0x2577ca-0x7d;const _0x10001c=a51_0x1000();let _0x3ebbad=_0x10001c[_0x2577ca];return _0x3ebbad;}import{roleUserAdd}from'../../commands/role/user-add.js';import{roleUserRemove}from'../../commands/role/user-remove.js';function a51_0x1000(){const _0x5b7bfb=['77IRDTjb','325654cQvjrp','96745MpOJdA','2518775mYWBgL','2248845RsVLyA','7436691QxtLqL','449330COmwoz','12vgzbGs','5492808XSyCCX','1GYOCPb','92glEqio'];a51_0x1000=function(){return _0x5b7bfb;};return a51_0x1000();}export const roleDefinitions=[roleList,roleDetail,roleCreate,roleUpdate,roleDelete,roleUserAdd,roleUserRemove];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const a52_0x4d1de4=a52_0x1a60;(function(_0x54cf78,_0x2b2699){const _0x39490d=a52_0x1a60,_0x58cd5d=_0x54cf78();while(!![]){try{const _0x5b42fe=parseInt(_0x39490d(0xd0))/0x1+parseInt(_0x39490d(0xcf))/0x2*(parseInt(_0x39490d(0xe2))/0x3)+parseInt(_0x39490d(0xf1))/0x4+-parseInt(_0x39490d(0xee))/0x5*(parseInt(_0x39490d(0xec))/0x6)+parseInt(_0x39490d(0xe8))/0x7*(-parseInt(_0x39490d(0xdf))/0x8)+parseInt(_0x39490d(0xea))/0x9*(parseInt(_0x39490d(0xdb))/0xa)+-parseInt(_0x39490d(0xd3))/0xb;if(_0x5b42fe===_0x2b2699)break;else _0x58cd5d['push'](_0x58cd5d['shift']());}catch(_0xe6716f){_0x58cd5d['push'](_0x58cd5d['shift']());}}}(a52_0x208e,0x3f3ef));import{listRuntimeAppRoles}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a52_0x1a60(_0x1a8e3b,_0x6f0045){_0x1a8e3b=_0x1a8e3b-0xcc;const _0x208e88=a52_0x208e();let _0x1a600a=_0x208e88[_0x1a8e3b];return _0x1a600a;}import{listAllRuntimeRoles,projectRuntimeRole,RUNTIME_ROLE_TYPES}from'../../commands/role/shared.js';export const roleList={'service':a52_0x4d1de4(0xe3),'command':'list','description':a52_0x4d1de4(0xd8),'risk':a52_0x4d1de4(0xde),'flags':[{'name':a52_0x4d1de4(0xd5),'type':'string','enum':RUNTIME_ROLE_TYPES,'description':a52_0x4d1de4(0xd6)},{'name':a52_0x4d1de4(0xed),'type':a52_0x4d1de4(0xef),'description':a52_0x4d1de4(0xf2)},{'name':a52_0x4d1de4(0xf0),'type':a52_0x4d1de4(0xe6),'default':0x1,'description':'Page\x20number'},{'name':a52_0x4d1de4(0xce),'type':a52_0x4d1de4(0xe6),'default':0x64,'description':a52_0x4d1de4(0xdd)}],async 'validate'(_0x219a00){const _0x299d12=a52_0x4d1de4,_0x5cc743=_0x219a00['str'](_0x299d12(0xd5))[_0x299d12(0xd4)]();if(_0x5cc743&&!RUNTIME_ROLE_TYPES['includes'](_0x5cc743))throw CliErrors[_0x299d12(0xeb)](_0x299d12(0xd1)+_0x5cc743+'.');const _0x214857=_0x219a00['num'](_0x299d12(0xf0),0x1),_0x2f32ce=_0x219a00[_0x299d12(0xe4)](_0x299d12(0xce),0x64);if(!Number[_0x299d12(0xe5)](_0x214857)||_0x214857<0x1)throw CliErrors['validation'](_0x299d12(0xcc));if(!Number['isSafeInteger'](_0x2f32ce)||_0x2f32ce<0x1||_0x2f32ce>0x64)throw CliErrors[_0x299d12(0xeb)](_0x299d12(0xd9));},async 'execute'(_0x55479c){const _0x3e4abb=a52_0x4d1de4,_0x4f4dc1=_0x55479c[_0x3e4abb(0xe7)](_0x3e4abb(0xd5))['toUpperCase'](),_0x427bc0=_0x55479c[_0x3e4abb(0xe7)]('name')[_0x3e4abb(0xdc)](),_0x333498=_0x55479c['num'](_0x3e4abb(0xf0),0x1),_0x537974=_0x55479c[_0x3e4abb(0xe4)]('pagesize',0x64);if(_0x4f4dc1){const _0x388eba=(await listAllRuntimeRoles(_0x55479c['appCode'],{..._0x427bc0?{'roleName':_0x427bc0}:{}}))[_0x3e4abb(0xd7)](_0x9a8677=>_0x9a8677[_0x3e4abb(0xe9)]===_0x4f4dc1),_0x504e5b=(_0x333498-0x1)*_0x537974;return{'ok':!![],'data':{'scope':'runtime','roles':_0x388eba['slice'](_0x504e5b,_0x504e5b+_0x537974)[_0x3e4abb(0xd2)](projectRuntimeRole),'paging':{'currentPage':_0x333498,'pageSize':_0x537974,'totalCount':_0x388eba['length']}}};}const _0x2296b4=await listRuntimeAppRoles(_0x55479c[_0x3e4abb(0xe1)],{..._0x427bc0?{'roleName':_0x427bc0}:{},'currentPage':_0x333498,'pageSize':_0x537974});return{'ok':!![],'data':{'scope':_0x3e4abb(0xcd),'roles':_0x2296b4[_0x3e4abb(0xda)][_0x3e4abb(0xd2)](projectRuntimeRole),'paging':_0x2296b4[_0x3e4abb(0xe0)]}};}};function a52_0x208e(){const _0x4f22a4=['items','1608690Atyksv','trim','Page\x20size\x20from\x201\x20to\x20100','read','1890704YKDxzc','paging','appCode','595233hkujBL','role','num','isSafeInteger','number','str','7vybhMX','roleType','18UyWydc','validation','1068vDJSdv','name','4855CUYeDI','string','page','1744884NOwgvu','Fuzzy\x20role-name\x20filter','--page\x20must\x20be\x20a\x20positive\x20integer.','runtime','pagesize','2XyoMZJ','404088QtaYAB','Invalid\x20runtime\x20role\x20type:\x20','map','7614497NzEbGE','toUpperCase','type','Runtime\x20role\x20type','filter','List\x20runtime\x20roles\x20for\x20the\x20current\x20app','--pagesize\x20must\x20be\x20an\x20integer\x20from\x201\x20to\x20100.'];a52_0x208e=function(){return _0x4f22a4;};return a52_0x208e();}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { type RuntimeAppRole, type RuntimeAppRoleType, type RuntimeRoleUsers } from "../../core/api-client.js";
|
|
2
|
+
import type { FlagDef, RuntimeContext } from "../../framework/types.js";
|
|
3
|
+
export declare const RUNTIME_ROLE_TYPES: RuntimeAppRoleType[];
|
|
4
|
+
export declare const ROLE_ID_FLAG: FlagDef;
|
|
5
|
+
export declare const ROLE_REF_FLAG: FlagDef;
|
|
6
|
+
export declare const USER_ID_FLAG: FlagDef;
|
|
7
|
+
export declare const EXPECT_USER_COUNT_FLAG: FlagDef;
|
|
8
|
+
export declare function isBuiltinRuntimeRole(roleType: string): boolean;
|
|
9
|
+
export declare function assertCustomRuntimeRole(role: RuntimeAppRole, action: string): void;
|
|
10
|
+
export declare function projectRuntimeRole(role: RuntimeAppRole): Record<string, unknown>;
|
|
11
|
+
export declare function getRuntimeRoleById(appCode: string, roleId: number): Promise<RuntimeAppRole>;
|
|
12
|
+
export declare function listAllRuntimeRoles(appCode: string, options?: {
|
|
13
|
+
roleName?: string;
|
|
14
|
+
}): Promise<RuntimeAppRole[]>;
|
|
15
|
+
export declare function resolveRuntimeRoleRef(appCode: string, ref: string): Promise<RuntimeAppRole>;
|
|
16
|
+
export interface RuntimeMemberMutation {
|
|
17
|
+
role: RuntimeAppRole;
|
|
18
|
+
userId: number;
|
|
19
|
+
roleList: RuntimeRoleUsers[];
|
|
20
|
+
before: {
|
|
21
|
+
userIds: number[];
|
|
22
|
+
};
|
|
23
|
+
after: {
|
|
24
|
+
userIds: number[];
|
|
25
|
+
};
|
|
26
|
+
shouldWrite: boolean;
|
|
27
|
+
warnings: string[];
|
|
28
|
+
}
|
|
29
|
+
export declare function prepareRuntimeMemberMutation(ctx: RuntimeContext, operation: "user-add" | "user-remove"): Promise<RuntimeMemberMutation>;
|
|
30
|
+
export declare function runtimeRoleWriteResult(operation: string, selector: Record<string, unknown>, before: unknown, after: unknown, backend: {
|
|
31
|
+
method: string;
|
|
32
|
+
path: string;
|
|
33
|
+
}, warnings?: string[]): Record<string, unknown>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const a53_0x2c3188=a53_0x3803;(function(_0x1a8ca5,_0x5948c1){const _0x469644=a53_0x3803,_0x5ea0bb=_0x1a8ca5();while(!![]){try{const _0x4ef3e8=parseInt(_0x469644(0x1df))/0x1+parseInt(_0x469644(0x1f1))/0x2*(-parseInt(_0x469644(0x209))/0x3)+parseInt(_0x469644(0x212))/0x4+parseInt(_0x469644(0x204))/0x5+-parseInt(_0x469644(0x1ea))/0x6+parseInt(_0x469644(0x207))/0x7+parseInt(_0x469644(0x1de))/0x8*(parseInt(_0x469644(0x1fc))/0x9);if(_0x4ef3e8===_0x5948c1)break;else _0x5ea0bb['push'](_0x5ea0bb['shift']());}catch(_0x464924){_0x5ea0bb['push'](_0x5ea0bb['shift']());}}}(a53_0x4eb0,0x5e86d));import{listRuntimeAppUsers,listRuntimeAppRoles,listRuntimeRoleUsers}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';export const RUNTIME_ROLE_TYPES=[a53_0x2c3188(0x1e3),'USER',a53_0x2c3188(0x1e2),'CUSTOM'];const BUILTIN_ROLE_TYPES=[a53_0x2c3188(0x1e3),'USER',a53_0x2c3188(0x1e2)];export const ROLE_ID_FLAG={'name':'id','type':'number','required':!![],'description':a53_0x2c3188(0x205)};export const ROLE_REF_FLAG={'name':'role','type':a53_0x2c3188(0x203),'required':!![],'description':'Runtime\x20role\x20ID\x20or\x20exact\x20role\x20name'};export const USER_ID_FLAG={'name':a53_0x2c3188(0x1f4),'type':a53_0x2c3188(0x203),'required':!![],'description':'Runtime\x20numeric\x20userId'};export const EXPECT_USER_COUNT_FLAG={'name':a53_0x2c3188(0x1e7),'type':'number','description':a53_0x2c3188(0x1f8)};export function isBuiltinRuntimeRole(_0x13a9f4){const _0x38735c=a53_0x2c3188;return BUILTIN_ROLE_TYPES[_0x38735c(0x1f2)](_0x13a9f4);}export function assertCustomRuntimeRole(_0x5e2595,_0x1e4dca){const _0x4ea101=a53_0x2c3188;if(_0x5e2595[_0x4ea101(0x1e9)]!==_0x4ea101(0x1eb))throw CliErrors[_0x4ea101(0x1fe)](_0x4ea101(0x208)+_0x1e4dca+_0x4ea101(0x1f6)+_0x5e2595[_0x4ea101(0x1ed)]+'\x20('+_0x5e2595[_0x4ea101(0x1e9)]+').',_0x4ea101(0x1d4));}export function projectRuntimeRole(_0x7d7b1){const _0x123a0a=a53_0x2c3188;return{'id':_0x7d7b1['id'],'roleName':_0x7d7b1[_0x123a0a(0x1ed)],'roleType':_0x7d7b1[_0x123a0a(0x1e9)],'remark':_0x7d7b1[_0x123a0a(0x211)],'userCount':_0x7d7b1[_0x123a0a(0x1f7)]??0x0,'permitCount':_0x7d7b1[_0x123a0a(0x1ce)]??0x0,'builtin':isBuiltinRuntimeRole(_0x7d7b1[_0x123a0a(0x1e9)])};}function a53_0x4eb0(){const _0x5f9b4=['\x20was\x20not\x20found\x20in\x20app\x20','totalCount','Runtime\x20user\x20','length','624JNCeXw','397101LIxRvL','Runtime\x20userId\x20must\x20be\x20a\x20positive\x20safe\x20integer.','userName','OWNER','ADMIN','trim',',\x20found\x20','Runtime\x20role\x20','expect-user-count','appCode','roleType','278418jjNlHE','CUSTOM','Run\x20`lovrabet\x20role\x20list`\x20and\x20use\x20a\x20role\x20from\x20the\x20current\x20app.','roleName','isSafeInteger','Run\x20`lovrabet\x20role\x20list`\x20or\x20pass\x20--role\x20<id>.','paging','1491916zySTxv','includes','\x22\x20was\x20not\x20found\x20in\x20app\x20','user','User\x20','\x20built-in\x20runtime\x20role\x20','userCount','Reject\x20when\x20the\x20target\x20role\x20member\x20count\x20has\x20changed','userList','Runtime\x20role\x20member\x20count\x20changed:\x20expected\x20','str','6687mUlvTV','Use\x20a\x20numeric\x20userId\x20returned\x20by\x20the\x20current\x20application\x27s\x20personnel\x20list.','validation','Transfer\x20or\x20manage\x20application\x20ownership\x20through\x20the\x20dedicated\x20application\x20workflow.','\x20is\x20missing\x20from\x20the\x20grouped\x20member\x20snapshot.','push','Missing\x20runtime\x20role\x20reference.','string','25080GumHkk','Runtime\x20role\x20ID\x20returned\x20by\x20role\x20list','Pass\x20--user\x20<userId>;\x20name\x20and\x20account\x20lookup\x20are\x20not\x20available\x20in\x20runtime\x20scope.','995162RBWJoj','Cannot\x20','3JMUaDZ','OWNER\x20runtime\x20role\x20membership\x20cannot\x20be\x20changed\x20with\x20this\x20command.','filter','Pass\x20--role\x20<id|name>.','--expect-user-count\x20must\x20be\x20a\x20non-negative\x20integer.','\x20is\x20already\x20in\x20runtime\x20role\x20','user-add','role','remark','2309220QqKrcl','find','permitCount','flag','test','items','Runtime\x20role\x20name\x20\x22','Pass\x20one\x20role\x20ID:\x20','Only\x20CUSTOM\x20runtime\x20roles\x20can\x20be\x20modified\x20or\x20deleted.','Read\x20the\x20current\x20members\x20and\x20retry\x20with\x20the\x20new\x20expected\x20count.','userId','\x22\x20is\x20ambiguous.','num','map'];a53_0x4eb0=function(){return _0x5f9b4;};return a53_0x4eb0();}export async function getRuntimeRoleById(_0x155b86,_0x56f53a){const _0x5de926=a53_0x2c3188;if(!Number[_0x5de926(0x1ee)](_0x56f53a)||_0x56f53a<=0x0)throw CliErrors[_0x5de926(0x1fe)]('Role\x20ID\x20must\x20be\x20a\x20positive\x20integer.');const _0x2919a1=(await listAllRuntimeRoles(_0x155b86))[_0x5de926(0x20b)](_0x2d094b=>_0x2d094b['id']===_0x56f53a&&(!_0x2d094b[_0x5de926(0x1e8)]||_0x2d094b[_0x5de926(0x1e8)]===_0x155b86));if(_0x2919a1['length']!==0x1)throw CliErrors['validation']('Runtime\x20role\x20id\x20'+_0x56f53a+_0x5de926(0x1da)+_0x155b86+'.',_0x5de926(0x1ec));return _0x2919a1[0x0];}function a53_0x3803(_0x258a4d,_0x23c1c2){_0x258a4d=_0x258a4d-0x1ce;const _0x4eb04a=a53_0x4eb0();let _0x380312=_0x4eb04a[_0x258a4d];return _0x380312;}export async function listAllRuntimeRoles(_0x430a61,_0x56afee={}){const _0x343c2b=a53_0x2c3188,_0x4c758f=0x64,_0x57c9e5=[];for(let _0x516989=0x1;;_0x516989+=0x1){const _0x1927e7=await listRuntimeAppRoles(_0x430a61,{..._0x56afee[_0x343c2b(0x1ed)]?{'roleName':_0x56afee[_0x343c2b(0x1ed)]}:{},'currentPage':_0x516989,'pageSize':_0x4c758f});_0x57c9e5[_0x343c2b(0x201)](..._0x1927e7[_0x343c2b(0x1d1)]);if(_0x1927e7['items'][_0x343c2b(0x1dd)]<_0x4c758f||_0x1927e7[_0x343c2b(0x1f0)]&&_0x57c9e5[_0x343c2b(0x1dd)]>=_0x1927e7[_0x343c2b(0x1f0)][_0x343c2b(0x1db)])return _0x57c9e5;}}export async function resolveRuntimeRoleRef(_0x29c49b,_0x56ea8c){const _0x1718f5=a53_0x2c3188,_0x28301a=_0x56ea8c[_0x1718f5(0x1e4)]();if(!_0x28301a)throw CliErrors[_0x1718f5(0x1fe)](_0x1718f5(0x202),_0x1718f5(0x20c));if(/^\d+$/[_0x1718f5(0x1d0)](_0x28301a))return getRuntimeRoleById(_0x29c49b,Number(_0x28301a));const _0x5dc726=(await listAllRuntimeRoles(_0x29c49b))[_0x1718f5(0x20b)](_0x3c72d9=>_0x3c72d9[_0x1718f5(0x1ed)]===_0x28301a);if(_0x5dc726[_0x1718f5(0x1dd)]===0x0)throw CliErrors[_0x1718f5(0x1fe)](_0x1718f5(0x1d2)+_0x28301a+_0x1718f5(0x1f3)+_0x29c49b+'.',_0x1718f5(0x1ef));if(_0x5dc726[_0x1718f5(0x1dd)]>0x1)throw CliErrors['validation'](_0x1718f5(0x1d2)+_0x28301a+_0x1718f5(0x1d7),_0x1718f5(0x1d3)+_0x5dc726['map'](_0x4608fc=>_0x4608fc['id'])['join'](',\x20')+'.');return _0x5dc726[0x0];}function parseRuntimeUserId(_0xde3a25){const _0x39bced=a53_0x2c3188,_0x4793df=_0xde3a25['trim']();if(!/^\d+$/[_0x39bced(0x1d0)](_0x4793df))throw CliErrors['validation']('Runtime\x20role\x20membership\x20requires\x20a\x20numeric\x20userId.',_0x39bced(0x206));const _0x286f7e=Number(_0x4793df);if(!Number[_0x39bced(0x1ee)](_0x286f7e)||_0x286f7e<=0x0)throw CliErrors[_0x39bced(0x1fe)](_0x39bced(0x1e0));return _0x286f7e;}export async function prepareRuntimeMemberMutation(_0x3c72e7,_0x347d57){const _0x50d6d7=a53_0x2c3188,_0x3874b9=await resolveRuntimeRoleRef(_0x3c72e7[_0x50d6d7(0x1e8)],_0x3c72e7[_0x50d6d7(0x1fb)](_0x50d6d7(0x210)));if(_0x3874b9[_0x50d6d7(0x1e9)]==='OWNER')throw CliErrors[_0x50d6d7(0x1fe)](_0x50d6d7(0x20a),_0x50d6d7(0x1ff));const _0x59cb1c=parseRuntimeUserId(_0x3c72e7[_0x50d6d7(0x1fb)](_0x50d6d7(0x1f4))),_0x3abd08=(await listRuntimeRoleUsers(_0x3c72e7[_0x50d6d7(0x1e8)]))[_0x50d6d7(0x1d9)](_0x309838=>({..._0x309838,'userList':[..._0x309838[_0x50d6d7(0x1f9)]??[]],'applyUserList':[..._0x309838['applyUserList']??[]]})),_0x5bb30d=_0x3abd08[_0x50d6d7(0x213)](_0x5cbc9b=>_0x5cbc9b['id']===_0x3874b9['id']);if(!_0x5bb30d)throw CliErrors[_0x50d6d7(0x1fe)](_0x50d6d7(0x1e6)+_0x3874b9['id']+_0x50d6d7(0x200),'Reload\x20the\x20role\x20list\x20and\x20retry\x20after\x20the\x20server\x20state\x20is\x20consistent.');const _0x24cf8d=_0x5bb30d[_0x50d6d7(0x1f9)]['map'](_0x58cd99=>_0x58cd99[_0x50d6d7(0x1d6)]),_0x5eba68=_0x3c72e7[_0x50d6d7(0x1cf)](_0x50d6d7(0x1e7));if(_0x5eba68!==undefined&&_0x5eba68!==null&&_0x5eba68!==''){const _0x20fa05=_0x3c72e7[_0x50d6d7(0x1d8)](_0x50d6d7(0x1e7));if(!Number[_0x50d6d7(0x1ee)](_0x20fa05)||_0x20fa05<0x0)throw CliErrors[_0x50d6d7(0x1fe)](_0x50d6d7(0x20d));if(_0x24cf8d[_0x50d6d7(0x1dd)]!==_0x20fa05)throw CliErrors['validation'](_0x50d6d7(0x1fa)+_0x20fa05+_0x50d6d7(0x1e5)+_0x24cf8d[_0x50d6d7(0x1dd)]+'.',_0x50d6d7(0x1d5));}const _0x1f94d0=_0x24cf8d[_0x50d6d7(0x1f2)](_0x59cb1c),_0xe322ce=[];let _0x26d8c3=!![];if(_0x347d57===_0x50d6d7(0x20f)){const _0x202232=await listRuntimeAppUsers(_0x3c72e7[_0x50d6d7(0x1e8)]),_0x1ec840=_0x202232[_0x50d6d7(0x20b)](_0x23dbf3=>Number(_0x23dbf3['code'])===_0x59cb1c);if(_0x1ec840[_0x50d6d7(0x1dd)]!==0x1||!_0x1ec840[0x0][_0x50d6d7(0x1e1)]?.['trim']())throw CliErrors[_0x50d6d7(0x1fe)](_0x50d6d7(0x1dc)+_0x59cb1c+_0x50d6d7(0x1da)+_0x3c72e7[_0x50d6d7(0x1e8)]+'.',_0x50d6d7(0x1fd));_0x1f94d0?(_0x26d8c3=![],_0xe322ce['push'](_0x50d6d7(0x1f5)+_0x59cb1c+_0x50d6d7(0x20e)+_0x3874b9['id']+'.')):_0x5bb30d[_0x50d6d7(0x1f9)][_0x50d6d7(0x201)]({'userId':_0x59cb1c,'username':_0x1ec840[0x0][_0x50d6d7(0x1e1)]});}else!_0x1f94d0?(_0x26d8c3=![],_0xe322ce[_0x50d6d7(0x201)]('User\x20'+_0x59cb1c+'\x20is\x20not\x20in\x20runtime\x20role\x20'+_0x3874b9['id']+'.')):_0x5bb30d[_0x50d6d7(0x1f9)]=_0x5bb30d['userList']['filter'](_0x1f23e9=>_0x1f23e9[_0x50d6d7(0x1d6)]!==_0x59cb1c);return{'role':_0x3874b9,'userId':_0x59cb1c,'roleList':_0x3abd08,'before':{'userIds':_0x24cf8d},'after':{'userIds':_0x5bb30d[_0x50d6d7(0x1f9)][_0x50d6d7(0x1d9)](_0x14922c=>_0x14922c[_0x50d6d7(0x1d6)])},'shouldWrite':_0x26d8c3,'warnings':_0xe322ce};}export function runtimeRoleWriteResult(_0x222f31,_0x21d6e6,_0x5e91ea,_0x16178c,_0x2a9bc4,_0x38c834=[]){return{'operation':_0x222f31,'scope':'runtime','selector':_0x21d6e6,'before':_0x5e91ea,'after':_0x16178c,'dryRun':![],'backend':_0x2a9bc4,'warnings':_0x38c834};}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const a54_0x501f06=a54_0x1a2f;function a54_0x1a2f(_0x1089fb,_0x47d611){_0x1089fb=_0x1089fb-0x1de;const _0x1ab2e2=a54_0x1ab2();let _0x1a2f7a=_0x1ab2e2[_0x1089fb];return _0x1a2f7a;}(function(_0x40e11d,_0x467ae4){const _0x285f53=a54_0x1a2f,_0x18247c=_0x40e11d();while(!![]){try{const _0x43a7d5=-parseInt(_0x285f53(0x1fc))/0x1*(-parseInt(_0x285f53(0x1e5))/0x2)+parseInt(_0x285f53(0x1f9))/0x3+parseInt(_0x285f53(0x1fa))/0x4+parseInt(_0x285f53(0x1e9))/0x5+parseInt(_0x285f53(0x1ea))/0x6*(parseInt(_0x285f53(0x1ec))/0x7)+-parseInt(_0x285f53(0x1fb))/0x8+-parseInt(_0x285f53(0x1f5))/0x9;if(_0x43a7d5===_0x467ae4)break;else _0x18247c['push'](_0x18247c['shift']());}catch(_0x55cb4f){_0x18247c['push'](_0x18247c['shift']());}}}(a54_0x1ab2,0xa680a));import{updateRuntimeAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a54_0x1ab2(){const _0x420c88=['--remark\x20must\x20not\x20be\x20blank.','307977aUSgsB','1549856HJEGsz','5356984QOARwz','38jCqdAx','name','update','The\x20current\x20runtime\x20role\x20API\x20does\x20not\x20support\x20clearing\x20an\x20existing\x20remark.','str','POST','Pass\x20--name\x20or\x20--remark\x20to\x20update\x20the\x20runtime\x20role.','remark','/client/permit/role/update','4962xxyVoo','--name\x20must\x20not\x20be\x20blank.','role','high-risk-write','3617765qEPEKe','153444PqUDFw','body','168igaIbL','Preview:\x20update\x20a\x20runtime\x20CUSTOM\x20role','string','New\x20role\x20name','appCode','build','validation','flag','New\x20non-empty\x20role\x20remark','5131017lhghIN','修改当前运行应用中的自定义角色名称或备注;变更会立即影响角色展示。','trim'];a54_0x1ab2=function(){return _0x420c88;};return a54_0x1ab2();}import{dryRun}from'../../framework/dryrun.js';import{assertCustomRuntimeRole,getRuntimeRoleById,projectRuntimeRole,ROLE_ID_FLAG,runtimeRoleWriteResult}from'../../commands/role/shared.js';function updateFields(_0x452a32){const _0x5a8243=a54_0x1a2f,_0x134d20=_0x452a32['flag'](_0x5a8243(0x1fd))!==undefined,_0x3ed1a7=_0x452a32[_0x5a8243(0x1f3)](_0x5a8243(0x1e3))!==undefined;if(!_0x134d20&&!_0x3ed1a7)throw CliErrors[_0x5a8243(0x1f2)](_0x5a8243(0x1e2));const _0x56ebb6=_0x452a32[_0x5a8243(0x1e0)](_0x5a8243(0x1fd))[_0x5a8243(0x1f7)](),_0xc30606=_0x452a32[_0x5a8243(0x1e0)](_0x5a8243(0x1e3))[_0x5a8243(0x1f7)]();if(_0x134d20&&!_0x56ebb6)throw CliErrors['validation'](_0x5a8243(0x1e6));if(_0x3ed1a7&&!_0xc30606)throw CliErrors[_0x5a8243(0x1f2)](_0x5a8243(0x1f8),_0x5a8243(0x1df));return{..._0x134d20?{'roleName':_0x56ebb6}:{},..._0x3ed1a7?{'remark':_0xc30606}:{}};}async function prepare(_0x1e8bdd){const _0x49d6c1=a54_0x1a2f,_0x4def2b=await getRuntimeRoleById(_0x1e8bdd['appCode'],_0x1e8bdd['num']('id'));return assertCustomRuntimeRole(_0x4def2b,_0x49d6c1(0x1de)),{'role':_0x4def2b,'body':{'id':_0x4def2b['id'],'appCode':_0x1e8bdd[_0x49d6c1(0x1f0)],...updateFields(_0x1e8bdd)}};}export const roleUpdate={'service':a54_0x501f06(0x1e7),'command':a54_0x501f06(0x1de),'description':'Update\x20a\x20runtime\x20CUSTOM\x20role','risk':a54_0x501f06(0x1e8),'confirmationDescription':a54_0x501f06(0x1f6),'flags':[ROLE_ID_FLAG,{'name':a54_0x501f06(0x1fd),'type':a54_0x501f06(0x1ee),'description':a54_0x501f06(0x1ef)},{'name':a54_0x501f06(0x1e3),'type':a54_0x501f06(0x1ee),'description':a54_0x501f06(0x1f4)}],async 'validate'(_0x2b6c24){updateFields(_0x2b6c24);},async 'dryRun'(_0x2b8093){const _0x57d608=a54_0x501f06,{body:_0x477290}=await prepare(_0x2b8093);return dryRun(_0x57d608(0x1e1),_0x57d608(0x1e4))[_0x57d608(0x1eb)](_0x477290)['description'](_0x57d608(0x1ed))[_0x57d608(0x1f1)]();},async 'execute'(_0x16c063){const _0x44e1e1=a54_0x501f06,{role:_0xae7e48,body:_0x503876}=await prepare(_0x16c063),_0x1b755c=await updateRuntimeAppRole(_0x503876);return{'ok':!![],'data':runtimeRoleWriteResult(_0x44e1e1(0x1de),{'roleId':_0xae7e48['id']},projectRuntimeRole(_0xae7e48),projectRuntimeRole(_0x1b755c),{'method':_0x44e1e1(0x1e1),'path':_0x44e1e1(0x1e4)})};}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const a55_0x390124=a55_0x4a3f;function a55_0x4a3f(_0x2b463d,_0x56d973){_0x2b463d=_0x2b463d-0x86;const _0x5ac73c=a55_0x5ac7();let _0x4a3f36=_0x5ac73c[_0x2b463d];return _0x4a3f36;}(function(_0x2667bd,_0x330d9c){const _0x35072c=a55_0x4a3f,_0x350ad6=_0x2667bd();while(!![]){try{const _0x57ec04=-parseInt(_0x35072c(0x87))/0x1+parseInt(_0x35072c(0x93))/0x2+parseInt(_0x35072c(0x94))/0x3+-parseInt(_0x35072c(0x86))/0x4+parseInt(_0x35072c(0x9a))/0x5+parseInt(_0x35072c(0x91))/0x6*(-parseInt(_0x35072c(0x9e))/0x7)+-parseInt(_0x35072c(0x98))/0x8;if(_0x57ec04===_0x330d9c)break;else _0x350ad6['push'](_0x350ad6['shift']());}catch(_0x3baf54){_0x350ad6['push'](_0x350ad6['shift']());}}}(a55_0x5ac7,0xbe098));function a55_0x5ac7(){const _0x436fb2=['appCode','user-add','/client/permit/user-role/update-user-list','49400GhbqIK','description','899425QirqpG','build','high-risk-write','把指定运行用户加入目标角色;该用户将获得该角色对应的运行权限。','112TiDMjo','796428GnfZgz','910379ufiCIn','POST','after','warnings','roleList','Add\x20a\x20numeric\x20userId\x20to\x20one\x20runtime\x20role','role','body','shouldWrite','Preview:\x20add\x20runtime\x20role\x20member','197130nBvTRr','userId','1594200eIqFXY','4328244edoXVC'];a55_0x5ac7=function(){return _0x436fb2;};return a55_0x5ac7();}import{updateRuntimeRoleUsers}from'../../core/api-client.js';import{dryRun}from'../../framework/dryrun.js';import{EXPECT_USER_COUNT_FLAG,prepareRuntimeMemberMutation,ROLE_REF_FLAG,runtimeRoleWriteResult,USER_ID_FLAG}from'../../commands/role/shared.js';export const roleUserAdd={'service':a55_0x390124(0x8d),'command':'user-add','description':a55_0x390124(0x8c),'risk':a55_0x390124(0x9c),'confirmationDescription':a55_0x390124(0x9d),'flags':[ROLE_REF_FLAG,USER_ID_FLAG,EXPECT_USER_COUNT_FLAG],async 'dryRun'(_0x58a105){const _0x48d096=a55_0x390124,_0x10a1c5=await prepareRuntimeMemberMutation(_0x58a105,'user-add');return dryRun(_0x48d096(0x88),_0x48d096(0x97))[_0x48d096(0x8e)]({'appCode':_0x58a105[_0x48d096(0x95)],'roleList':_0x10a1c5[_0x48d096(0x8b)]})[_0x48d096(0x99)](_0x10a1c5[_0x48d096(0x8f)]?_0x48d096(0x90):_0x10a1c5[_0x48d096(0x8a)][0x0])[_0x48d096(0x9b)]();},async 'execute'(_0x2007ea){const _0x4d42d6=a55_0x390124,_0x39da05=await prepareRuntimeMemberMutation(_0x2007ea,_0x4d42d6(0x96));return _0x39da05[_0x4d42d6(0x8f)]&&await updateRuntimeRoleUsers(_0x2007ea[_0x4d42d6(0x95)],_0x39da05[_0x4d42d6(0x8b)]),{'ok':!![],'data':runtimeRoleWriteResult('user-add',{'roleId':_0x39da05[_0x4d42d6(0x8d)]['id'],'userId':_0x39da05[_0x4d42d6(0x92)]},_0x39da05['before'],_0x39da05[_0x4d42d6(0x89)],{'method':_0x4d42d6(0x88),'path':_0x4d42d6(0x97)},_0x39da05[_0x4d42d6(0x8a)])};}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const a56_0xa41b07=a56_0x37f8;(function(_0x598283,_0x41f029){const _0x5a0a68=a56_0x37f8,_0xa73143=_0x598283();while(!![]){try{const _0x570bd3=-parseInt(_0x5a0a68(0xa1))/0x1*(parseInt(_0x5a0a68(0xac))/0x2)+parseInt(_0x5a0a68(0xa0))/0x3+-parseInt(_0x5a0a68(0xb3))/0x4*(-parseInt(_0x5a0a68(0xae))/0x5)+parseInt(_0x5a0a68(0xa5))/0x6*(-parseInt(_0x5a0a68(0xb2))/0x7)+parseInt(_0x5a0a68(0xad))/0x8*(-parseInt(_0x5a0a68(0xab))/0x9)+-parseInt(_0x5a0a68(0xaf))/0xa*(-parseInt(_0x5a0a68(0xb7))/0xb)+parseInt(_0x5a0a68(0xa4))/0xc;if(_0x570bd3===_0x41f029)break;else _0xa73143['push'](_0xa73143['shift']());}catch(_0x2841f2){_0xa73143['push'](_0xa73143['shift']());}}}(a56_0x33ca,0x5f481));function a56_0x33ca(){const _0x155462=['55565bCwcCK','305240MmLEbo','build','userId','8806brmxZE','52KxMNfW','roleList','user-remove','POST','187QEaSpD','body','/client/permit/user-role/update-user-list','825744cvxmOv','3023sMSMgU','appCode','Remove\x20a\x20numeric\x20userId\x20from\x20one\x20runtime\x20role','4391844NzJcbW','2694glsVdS','role','before','description','shouldWrite','warnings','9YpxPIK','42IPgijl','2288112ZsYlkO'];a56_0x33ca=function(){return _0x155462;};return a56_0x33ca();}function a56_0x37f8(_0x1f6f76,_0x5a2cb4){_0x1f6f76=_0x1f6f76-0x9f;const _0x33ca49=a56_0x33ca();let _0x37f88d=_0x33ca49[_0x1f6f76];return _0x37f88d;}import{updateRuntimeRoleUsers}from'../../core/api-client.js';import{dryRun}from'../../framework/dryrun.js';import{EXPECT_USER_COUNT_FLAG,prepareRuntimeMemberMutation,ROLE_REF_FLAG,runtimeRoleWriteResult,USER_ID_FLAG}from'../../commands/role/shared.js';export const roleUserRemove={'service':'role','command':a56_0xa41b07(0xb5),'description':a56_0xa41b07(0xa3),'risk':'high-risk-write','confirmationDescription':'把指定运行用户移出目标角色;该用户将失去仅由该角色授予的运行权限。','flags':[ROLE_REF_FLAG,USER_ID_FLAG,EXPECT_USER_COUNT_FLAG],async 'dryRun'(_0x1f4635){const _0x1e8c3f=a56_0xa41b07,_0x4bf481=await prepareRuntimeMemberMutation(_0x1f4635,_0x1e8c3f(0xb5));return dryRun(_0x1e8c3f(0xb6),_0x1e8c3f(0x9f))[_0x1e8c3f(0xb8)]({'appCode':_0x1f4635[_0x1e8c3f(0xa2)],'roleList':_0x4bf481[_0x1e8c3f(0xb4)]})[_0x1e8c3f(0xa8)](_0x4bf481[_0x1e8c3f(0xa9)]?'Preview:\x20remove\x20runtime\x20role\x20member':_0x4bf481[_0x1e8c3f(0xaa)][0x0])[_0x1e8c3f(0xb0)]();},async 'execute'(_0x38a761){const _0x13ee1a=a56_0xa41b07,_0x328784=await prepareRuntimeMemberMutation(_0x38a761,_0x13ee1a(0xb5));return _0x328784['shouldWrite']&&await updateRuntimeRoleUsers(_0x38a761[_0x13ee1a(0xa2)],_0x328784[_0x13ee1a(0xb4)]),{'ok':!![],'data':runtimeRoleWriteResult(_0x13ee1a(0xb5),{'roleId':_0x328784[_0x13ee1a(0xa6)]['id'],'userId':_0x328784[_0x13ee1a(0xb1)]},_0x328784[_0x13ee1a(0xa7)],_0x328784['after'],{'method':_0x13ee1a(0xb6),'path':_0x13ee1a(0x9f)},_0x328784[_0x13ee1a(0xaa)])};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a37_0x5202d4=a37_0xe36a;(function(_0x22415c,_0x366b8f){const _0x436e50=a37_0xe36a,_0x4ff45a=_0x22415c();while(!![]){try{const _0x2de82e=parseInt(_0x436e50(0xe0))/0x1*(-parseInt(_0x436e50(0x108))/0x2)+-parseInt(_0x436e50(0xf2))/0x3*(-parseInt(_0x436e50(0x101))/0x4)+-parseInt(_0x436e50(0xd1))/0x5+parseInt(_0x436e50(0xe4))/0x6+-parseInt(_0x436e50(0x110))/0x7*(-parseInt(_0x436e50(0xea))/0x8)+-parseInt(_0x436e50(0x10a))/0x9*(-parseInt(_0x436e50(0xe5))/0xa)+-parseInt(_0x436e50(0xef))/0xb*(parseInt(_0x436e50(0xfc))/0xc);if(_0x2de82e===_0x366b8f)break;else _0x4ff45a['push'](_0x4ff45a['shift']());}catch(_0x252be8){_0x4ff45a['push'](_0x4ff45a['shift']());}}}(a37_0x5140,0x36d7c));import{createRuntimeSchedule,deleteRuntimeSchedule,getRuntimeSchedule,listRuntimeSchedules,runRuntimeSchedule,validateRuntimeSchedule}from'../../core/api-client.js';function a37_0x5140(){const _0x4d0520=['将永久删除该定时任务并停止后续自动触发;已经创建的历史\x20Task\x20不受影响。','auto','description','60kndrJp','number','\x20from\x20schedule\x20','--prompt\x20must\x20not\x20be\x20blank.','read','1373524VwqGis','Preview:\x20create\x20an\x20Agent\x20schedule','premium','ONCE\x20schedules\x20require\x20--scheduled-at\x20and\x20do\x20not\x20accept\x20--cron.','run','isSafeInteger','scheduled-at','2NIBDvX','limit','226161ahoiAo','validation','Deleted\x20schedule\x20','schedule','创建周期性或单次执行的\x20Agent\x20定时任务','Task\x20channel:\x20auto\x20or\x20premium','31535nZeUVT','schedule-id','high-risk-write','/schedules','Prompt\x20sent\x20to\x20the\x20Agent\x20when\x20the\x20schedule\x20runs','trim','将忽略原定触发时间,立即运行一次该定时任务并创建新的\x20Agent\x20Task。','/run','立即运行一次定时任务并创建\x20Task','Opaque\x20nextCursor\x20returned\x20by\x20the\x20previous\x20list\x20call','1906705HxGzmF','cursor','string','channel','UTC','Preview:\x20run\x20schedule\x20','POST','build','cron','list','/api/harness/apps/','--kind\x20must\x20be\x20CRON\x20or\x20ONCE.','List\x20current\x20user\x27s\x20schedules\x20for\x20the\x20current\x20app','kind','Schedule\x20title','242485XuBVoh','prompt','删除定时任务并停止其后续触发','ONCE','1962846zveqYD','100MQiTcO','appCode','Validate\x20a\x20UTC\x20schedule\x20without\x20creating\x20it','a\x20UUID\x20returned\x20by\x20schedule\x20create/list','num','600tqDUEU','Schedule\x20input\x20is\x20valid','Schedule\x20kind:\x20CRON\x20or\x20ONCE','--cursor\x20must\x20be\x20the\x20unchanged\x20nextCursor\x20from\x20schedule\x20list.','Show\x20one\x20schedule\x20by\x20schedule\x20ID','904695Txpkdw','validate','title','3HgHHCj','taskId','scheduleId','CRON\x20schedules\x20require\x20--cron\x20and\x20do\x20not\x20accept\x20--scheduled-at.','\x20schedule\x20','DELETE','str'];a37_0x5140=function(){return _0x4d0520;};return a37_0x5140();}import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';function a37_0xe36a(_0xf4e574,_0x2f3040){_0xf4e574=_0xf4e574-0xcd;const _0x51407d=a37_0x5140();let _0xe36a55=_0x51407d[_0xf4e574];return _0xe36a55;}const SCHEDULE_ID_PATTERN=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,KIND_FLAG={'name':a37_0x5202d4(0xde),'type':a37_0x5202d4(0xd3),'required':!![],'enum':['CRON',a37_0x5202d4(0xe3)],'description':a37_0x5202d4(0xec)},CRON_FLAG={'name':a37_0x5202d4(0xd9),'type':'string','description':'Five-field\x20UTC\x20cron\x20expression\x20for\x20CRON\x20schedules'},SCHEDULED_AT_FLAG={'name':'scheduled-at','type':a37_0x5202d4(0xd3),'description':'Canonical\x20UTC\x20ISO\x20datetime\x20for\x20ONCE\x20schedules'},TITLE_FLAG={'name':a37_0x5202d4(0xf1),'type':a37_0x5202d4(0xd3),'required':!![],'description':a37_0x5202d4(0xdf)},PROMPT_FLAG={'name':a37_0x5202d4(0xe1),'type':a37_0x5202d4(0xd3),'required':!![],'description':a37_0x5202d4(0x114)},CHANNEL_FLAG={'name':a37_0x5202d4(0xd4),'type':a37_0x5202d4(0xd3),'enum':[a37_0x5202d4(0xfa),a37_0x5202d4(0x103)],'default':'premium','description':a37_0x5202d4(0x10f)},SCHEDULE_ID_FLAG={'name':a37_0x5202d4(0x111),'type':'string','required':!![],'description':'Schedule\x20UUID','pattern':{'regex':SCHEDULE_ID_PATTERN,'description':a37_0x5202d4(0xe8)}},LIMIT_FLAG={'name':a37_0x5202d4(0x109),'type':a37_0x5202d4(0xfd),'default':0x14,'description':'Page\x20size\x20from\x201\x20to\x20100'},CURSOR_FLAG={'name':a37_0x5202d4(0xd2),'type':a37_0x5202d4(0xd3),'description':a37_0x5202d4(0xd0)},INPUT_FLAGS=[KIND_FLAG,CRON_FLAG,SCHEDULED_AT_FLAG,TITLE_FLAG,PROMPT_FLAG,CHANNEL_FLAG];function readScheduleInput(_0x27d0db){const _0x1da12c=a37_0x5202d4,_0x20c9f7=_0x27d0db[_0x1da12c(0xf8)](_0x1da12c(0xde)),_0x1574d1=_0x27d0db[_0x1da12c(0xf8)]('title')[_0x1da12c(0x115)](),_0x546886=_0x27d0db[_0x1da12c(0xf8)](_0x1da12c(0xe1))[_0x1da12c(0x115)](),_0x30ffc6=_0x27d0db[_0x1da12c(0xf8)]('channel'),_0x53ef61=_0x27d0db[_0x1da12c(0xf8)]('cron'),_0x11255f=_0x27d0db[_0x1da12c(0xf8)](_0x1da12c(0x107));if(!_0x1574d1)throw CliErrors[_0x1da12c(0x10b)]('--title\x20must\x20not\x20be\x20blank.');if(!_0x546886)throw CliErrors[_0x1da12c(0x10b)](_0x1da12c(0xff));if(_0x20c9f7==='CRON'){if(!_0x53ef61||_0x11255f)throw CliErrors['validation'](_0x1da12c(0xf5));return{'kind':_0x20c9f7,'timezone':_0x1da12c(0xd5),'cron':_0x53ef61,'title':_0x1574d1,'prompt':_0x546886,'channel':_0x30ffc6};}if(_0x20c9f7===_0x1da12c(0xe3)){if(!_0x11255f||_0x53ef61)throw CliErrors[_0x1da12c(0x10b)](_0x1da12c(0x104));return{'kind':_0x20c9f7,'timezone':_0x1da12c(0xd5),'scheduledAt':_0x11255f,'title':_0x1574d1,'prompt':_0x546886,'channel':_0x30ffc6};}throw CliErrors[_0x1da12c(0x10b)](_0x1da12c(0xdc));}function scheduleCollectionPath(_0x3bffae){const _0xfa95c3=a37_0x5202d4;return _0xfa95c3(0xdb)+encodeURIComponent(_0x3bffae)+_0xfa95c3(0x113);}function scheduleItemPath(_0x79173,_0x149f12){return scheduleCollectionPath(_0x79173)+'/'+encodeURIComponent(_0x149f12);}const scheduleValidate={'service':a37_0x5202d4(0x10d),'command':a37_0x5202d4(0xf0),'description':a37_0x5202d4(0xe7),'risk':'read','flags':INPUT_FLAGS,async 'validate'(_0x30eff3){readScheduleInput(_0x30eff3);},async 'execute'(_0x38dec0){const _0x141681=a37_0x5202d4,_0x3d829a=readScheduleInput(_0x38dec0),_0x576c3b=await validateRuntimeSchedule(_0x38dec0[_0x141681(0xe6)],_0x3d829a);return{'ok':!![],'data':_0x576c3b,'message':_0x141681(0xeb)};}},scheduleCreate={'service':a37_0x5202d4(0x10d),'command':'create','description':a37_0x5202d4(0x10e),'risk':a37_0x5202d4(0x112),'confirmationDescription':'将在当前应用中创建可自动触发\x20Agent\x20的定时任务;到达设定时间后会按任务内容创建并执行\x20Task。','flags':INPUT_FLAGS,async 'validate'(_0x2a4b01){readScheduleInput(_0x2a4b01);},async 'execute'(_0x354692){const _0x3eb3e4=a37_0x5202d4,_0x32bf38=readScheduleInput(_0x354692),_0x5bd283=await validateRuntimeSchedule(_0x354692[_0x3eb3e4(0xe6)],_0x32bf38),_0x1f4af6=await createRuntimeSchedule(_0x354692[_0x3eb3e4(0xe6)],_0x5bd283);return{'ok':!![],'data':_0x1f4af6,'message':'Created\x20'+_0x1f4af6[_0x3eb3e4(0xde)]+_0x3eb3e4(0xf6)+_0x1f4af6[_0x3eb3e4(0xf4)]};},async 'dryRun'(_0x267fc2){const _0x5b0a39=a37_0x5202d4,_0x283a3b=readScheduleInput(_0x267fc2);return dryRun('POST',scheduleCollectionPath(_0x267fc2[_0x5b0a39(0xe6)]))['body'](_0x283a3b)[_0x5b0a39(0xfb)](_0x5b0a39(0x102))['build']();}},scheduleList={'service':'schedule','command':a37_0x5202d4(0xda),'description':a37_0x5202d4(0xdd),'risk':a37_0x5202d4(0x100),'flags':[KIND_FLAG,LIMIT_FLAG,CURSOR_FLAG],async 'validate'(_0x18c70b){const _0x192c83=a37_0x5202d4,_0x5312e2=_0x18c70b[_0x192c83(0xe9)](_0x192c83(0x109));if(!Number[_0x192c83(0x106)](_0x5312e2)||_0x5312e2<0x1||_0x5312e2>0x64)throw CliErrors['validation']('--limit\x20must\x20be\x20an\x20integer\x20from\x201\x20to\x20100.');const _0x3b085a=_0x18c70b[_0x192c83(0xf8)](_0x192c83(0xd2));if(_0x3b085a&&(_0x3b085a['length']>0x400||_0x3b085a[_0x192c83(0x115)]()!==_0x3b085a))throw CliErrors[_0x192c83(0x10b)](_0x192c83(0xed));},async 'execute'(_0x311295){const _0x2e8b94=a37_0x5202d4,_0x56619e=_0x311295['str'](_0x2e8b94(0xd2)),_0x1b5b99=await listRuntimeSchedules(_0x311295['appCode'],{'kind':_0x311295[_0x2e8b94(0xf8)](_0x2e8b94(0xde)),'limit':_0x311295[_0x2e8b94(0xe9)](_0x2e8b94(0x109)),..._0x56619e?{'cursor':_0x56619e}:{}});return{'ok':!![],'data':_0x1b5b99};}},scheduleDetail={'service':a37_0x5202d4(0x10d),'command':'detail','description':a37_0x5202d4(0xee),'risk':a37_0x5202d4(0x100),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x80eec3){const _0x127cf1=a37_0x5202d4,_0x41c2df=await getRuntimeSchedule(_0x80eec3[_0x127cf1(0xe6)],_0x80eec3[_0x127cf1(0xf8)](_0x127cf1(0x111)));return{'ok':!![],'data':_0x41c2df};}},scheduleRun={'service':a37_0x5202d4(0x10d),'command':a37_0x5202d4(0x105),'description':a37_0x5202d4(0xcf),'risk':'high-risk-write','confirmationDescription':a37_0x5202d4(0xcd),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x245241){const _0x1a5777=a37_0x5202d4,_0x21cfd5=_0x245241[_0x1a5777(0xf8)](_0x1a5777(0x111)),_0x355f05=await runRuntimeSchedule(_0x245241[_0x1a5777(0xe6)],_0x21cfd5);return{'ok':!![],'data':_0x355f05,'message':'Queued\x20Task\x20'+_0x355f05[_0x1a5777(0xf3)]+_0x1a5777(0xfe)+_0x21cfd5};},async 'dryRun'(_0x257a68){const _0x5cdc03=a37_0x5202d4,_0x565c4b=_0x257a68[_0x5cdc03(0xf8)](_0x5cdc03(0x111));return dryRun(_0x5cdc03(0xd7),scheduleItemPath(_0x257a68[_0x5cdc03(0xe6)],_0x565c4b)+_0x5cdc03(0xce))[_0x5cdc03(0xfb)](_0x5cdc03(0xd6)+_0x565c4b+'\x20immediately')[_0x5cdc03(0xd8)]();}},scheduleDelete={'service':a37_0x5202d4(0x10d),'command':'delete','description':a37_0x5202d4(0xe2),'risk':'high-risk-write','confirmationDescription':a37_0x5202d4(0xf9),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x4757cd){const _0x58353c=a37_0x5202d4,_0x41f262=_0x4757cd[_0x58353c(0xf8)]('schedule-id'),_0x35285e=await deleteRuntimeSchedule(_0x4757cd[_0x58353c(0xe6)],_0x41f262);return{'ok':!![],'data':_0x35285e,'message':_0x58353c(0x10c)+_0x41f262};},async 'dryRun'(_0x296c50){const _0x5ef0dc=a37_0x5202d4,_0x19be52=_0x296c50['str'](_0x5ef0dc(0x111));return dryRun(_0x5ef0dc(0xf7),scheduleItemPath(_0x296c50[_0x5ef0dc(0xe6)],_0x19be52))['description']('Preview:\x20delete\x20schedule\x20'+_0x19be52)['build']();}};export const scheduleDefinitions=[scheduleValidate,scheduleCreate,scheduleList,scheduleDetail,scheduleRun,scheduleDelete];
|
|
1
|
+
const a57_0x5a117c=a57_0x47ab;(function(_0x476a31,_0x1d27de){const _0x36ac37=a57_0x47ab,_0x31a688=_0x476a31();while(!![]){try{const _0x5a99ee=parseInt(_0x36ac37(0x1e3))/0x1+-parseInt(_0x36ac37(0x1e2))/0x2+-parseInt(_0x36ac37(0x1bd))/0x3*(-parseInt(_0x36ac37(0x1cc))/0x4)+parseInt(_0x36ac37(0x1e5))/0x5+-parseInt(_0x36ac37(0x1ad))/0x6+-parseInt(_0x36ac37(0x1ef))/0x7*(-parseInt(_0x36ac37(0x1ea))/0x8)+parseInt(_0x36ac37(0x1d9))/0x9*(parseInt(_0x36ac37(0x1b8))/0xa);if(_0x5a99ee===_0x1d27de)break;else _0x31a688['push'](_0x31a688['shift']());}catch(_0x5cdce2){_0x31a688['push'](_0x31a688['shift']());}}}(a57_0xa78e,0x6496e));function a57_0x47ab(_0x39b948,_0x3cb060){_0x39b948=_0x39b948-0x1a7;const _0xa78ed6=a57_0xa78e();let _0x47abb8=_0xa78ed6[_0x39b948];return _0x47abb8;}import{createRuntimeSchedule,deleteRuntimeSchedule,getRuntimeSchedule,listRuntimeSchedules,runRuntimeSchedule,validateRuntimeSchedule}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';const SCHEDULE_ID_PATTERN=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,KIND_FLAG={'name':a57_0x5a117c(0x1c6),'type':a57_0x5a117c(0x1c3),'required':!![],'enum':[a57_0x5a117c(0x1c9),a57_0x5a117c(0x1ba)],'description':a57_0x5a117c(0x1af)},CRON_FLAG={'name':a57_0x5a117c(0x1d6),'type':'string','description':a57_0x5a117c(0x1a8)},SCHEDULED_AT_FLAG={'name':a57_0x5a117c(0x1ce),'type':a57_0x5a117c(0x1c3),'description':a57_0x5a117c(0x1d7)},TITLE_FLAG={'name':a57_0x5a117c(0x1dc),'type':a57_0x5a117c(0x1c3),'required':!![],'description':a57_0x5a117c(0x1db)},PROMPT_FLAG={'name':a57_0x5a117c(0x1b7),'type':a57_0x5a117c(0x1c3),'required':!![],'description':'Prompt\x20sent\x20to\x20the\x20Agent\x20when\x20the\x20schedule\x20runs'},CHANNEL_FLAG={'name':a57_0x5a117c(0x1b5),'type':a57_0x5a117c(0x1c3),'enum':[a57_0x5a117c(0x1c0),a57_0x5a117c(0x1bb)],'default':a57_0x5a117c(0x1bb),'description':a57_0x5a117c(0x1cd)},SCHEDULE_ID_FLAG={'name':a57_0x5a117c(0x1cf),'type':a57_0x5a117c(0x1c3),'required':!![],'description':a57_0x5a117c(0x1c4),'pattern':{'regex':SCHEDULE_ID_PATTERN,'description':a57_0x5a117c(0x1df)}},LIMIT_FLAG={'name':a57_0x5a117c(0x1dd),'type':a57_0x5a117c(0x1e7),'default':0x14,'description':'Page\x20size\x20from\x201\x20to\x20100'},CURSOR_FLAG={'name':a57_0x5a117c(0x1d1),'type':a57_0x5a117c(0x1c3),'description':a57_0x5a117c(0x1da)},INPUT_FLAGS=[KIND_FLAG,CRON_FLAG,SCHEDULED_AT_FLAG,TITLE_FLAG,PROMPT_FLAG,CHANNEL_FLAG];function readScheduleInput(_0x34f2b5){const _0x45004e=a57_0x5a117c,_0x5f5d52=_0x34f2b5[_0x45004e(0x1bc)]('kind'),_0x4be68a=_0x34f2b5['str'](_0x45004e(0x1dc))[_0x45004e(0x1b4)](),_0xd40ab2=_0x34f2b5[_0x45004e(0x1bc)](_0x45004e(0x1b7))['trim'](),_0x325e7a=_0x34f2b5['str'](_0x45004e(0x1b5)),_0x3ea79a=_0x34f2b5[_0x45004e(0x1bc)]('cron'),_0x2a3924=_0x34f2b5[_0x45004e(0x1bc)](_0x45004e(0x1ce));if(!_0x4be68a)throw CliErrors[_0x45004e(0x1d3)]('--title\x20must\x20not\x20be\x20blank.');if(!_0xd40ab2)throw CliErrors[_0x45004e(0x1d3)]('--prompt\x20must\x20not\x20be\x20blank.');if(_0x5f5d52==='CRON'){if(!_0x3ea79a||_0x2a3924)throw CliErrors[_0x45004e(0x1d3)](_0x45004e(0x1c1));return{'kind':_0x5f5d52,'timezone':'UTC','cron':_0x3ea79a,'title':_0x4be68a,'prompt':_0xd40ab2,'channel':_0x325e7a};}if(_0x5f5d52===_0x45004e(0x1ba)){if(!_0x2a3924||_0x3ea79a)throw CliErrors[_0x45004e(0x1d3)](_0x45004e(0x1b2));return{'kind':_0x5f5d52,'timezone':_0x45004e(0x1d2),'scheduledAt':_0x2a3924,'title':_0x4be68a,'prompt':_0xd40ab2,'channel':_0x325e7a};}throw CliErrors['validation'](_0x45004e(0x1ab));}function scheduleCollectionPath(_0x33de5e){const _0x69feea=a57_0x5a117c;return'/api/harness/apps/'+encodeURIComponent(_0x33de5e)+_0x69feea(0x1ed);}function a57_0xa78e(){const _0x3bdfb4=['POST','body','427192ZPRkNn','Task\x20channel:\x20auto\x20or\x20premium','scheduled-at','schedule-id','Created\x20','cursor','UTC','validation','read','validate','cron','Canonical\x20UTC\x20ISO\x20datetime\x20for\x20ONCE\x20schedules','description','3474gVUdwF','Opaque\x20nextCursor\x20returned\x20by\x20the\x20previous\x20list\x20call','Schedule\x20title','title','limit','创建周期性或单次执行的\x20Agent\x20定时任务','a\x20UUID\x20returned\x20by\x20schedule\x20create/list','Preview:\x20delete\x20schedule\x20','run','1152594vgLfZq','10879OhBQoy','scheduleId','1848585pWjUuH','detail','number','Preview:\x20create\x20an\x20Agent\x20schedule','delete','1336SUcrMc','isSafeInteger','schedule','/schedules','立即运行一次定时任务并创建\x20Task','21476yXEXnL','Deleted\x20schedule\x20','Five-field\x20UTC\x20cron\x20expression\x20for\x20CRON\x20schedules','List\x20current\x20user\x27s\x20schedules\x20for\x20the\x20current\x20app','/run','--kind\x20must\x20be\x20CRON\x20or\x20ONCE.','build','4288554YqeTMp','Schedule\x20input\x20is\x20valid','Schedule\x20kind:\x20CRON\x20or\x20ONCE','create','--limit\x20must\x20be\x20an\x20integer\x20from\x201\x20to\x20100.','ONCE\x20schedules\x20require\x20--scheduled-at\x20and\x20do\x20not\x20accept\x20--cron.','Validate\x20a\x20UTC\x20schedule\x20without\x20creating\x20it','trim','channel','--cursor\x20must\x20be\x20the\x20unchanged\x20nextCursor\x20from\x20schedule\x20list.','prompt','1620oFJWFZ','list','ONCE','premium','str','21iVwtGd','length','num','auto','CRON\x20schedules\x20require\x20--cron\x20and\x20do\x20not\x20accept\x20--scheduled-at.','\x20schedule\x20','string','Schedule\x20UUID','appCode','kind','Queued\x20Task\x20','high-risk-write','CRON'];a57_0xa78e=function(){return _0x3bdfb4;};return a57_0xa78e();}function scheduleItemPath(_0x41d88b,_0x341961){return scheduleCollectionPath(_0x41d88b)+'/'+encodeURIComponent(_0x341961);}const scheduleValidate={'service':'schedule','command':a57_0x5a117c(0x1d5),'description':a57_0x5a117c(0x1b3),'risk':a57_0x5a117c(0x1d4),'flags':INPUT_FLAGS,async 'validate'(_0x225966){readScheduleInput(_0x225966);},async 'execute'(_0x7c6870){const _0x1c8e99=a57_0x5a117c,_0x2aaf3d=readScheduleInput(_0x7c6870),_0x5994ee=await validateRuntimeSchedule(_0x7c6870[_0x1c8e99(0x1c5)],_0x2aaf3d);return{'ok':!![],'data':_0x5994ee,'message':_0x1c8e99(0x1ae)};}},scheduleCreate={'service':a57_0x5a117c(0x1ec),'command':a57_0x5a117c(0x1b0),'description':a57_0x5a117c(0x1de),'risk':'high-risk-write','confirmationDescription':'将在当前应用中创建可自动触发\x20Agent\x20的定时任务;到达设定时间后会按任务内容创建并执行\x20Task。','flags':INPUT_FLAGS,async 'validate'(_0x2df432){readScheduleInput(_0x2df432);},async 'execute'(_0x459907){const _0x4473d2=a57_0x5a117c,_0xccd1b3=readScheduleInput(_0x459907),_0x24540c=await validateRuntimeSchedule(_0x459907[_0x4473d2(0x1c5)],_0xccd1b3),_0x55d81f=await createRuntimeSchedule(_0x459907['appCode'],_0x24540c);return{'ok':!![],'data':_0x55d81f,'message':_0x4473d2(0x1d0)+_0x55d81f[_0x4473d2(0x1c6)]+_0x4473d2(0x1c2)+_0x55d81f[_0x4473d2(0x1e4)]};},async 'dryRun'(_0xfa9404){const _0x180d47=a57_0x5a117c,_0x2969bb=readScheduleInput(_0xfa9404);return dryRun('POST',scheduleCollectionPath(_0xfa9404[_0x180d47(0x1c5)]))[_0x180d47(0x1cb)](_0x2969bb)[_0x180d47(0x1d8)](_0x180d47(0x1e8))[_0x180d47(0x1ac)]();}},scheduleList={'service':'schedule','command':a57_0x5a117c(0x1b9),'description':a57_0x5a117c(0x1a9),'risk':'read','flags':[KIND_FLAG,LIMIT_FLAG,CURSOR_FLAG],async 'validate'(_0x114e54){const _0x269ec5=a57_0x5a117c,_0x4b76f4=_0x114e54[_0x269ec5(0x1bf)]('limit');if(!Number[_0x269ec5(0x1eb)](_0x4b76f4)||_0x4b76f4<0x1||_0x4b76f4>0x64)throw CliErrors[_0x269ec5(0x1d3)](_0x269ec5(0x1b1));const _0x3c3bf5=_0x114e54[_0x269ec5(0x1bc)](_0x269ec5(0x1d1));if(_0x3c3bf5&&(_0x3c3bf5[_0x269ec5(0x1be)]>0x400||_0x3c3bf5[_0x269ec5(0x1b4)]()!==_0x3c3bf5))throw CliErrors[_0x269ec5(0x1d3)](_0x269ec5(0x1b6));},async 'execute'(_0x7522a7){const _0x202d8c=a57_0x5a117c,_0x133709=_0x7522a7[_0x202d8c(0x1bc)](_0x202d8c(0x1d1)),_0x5f3ec5=await listRuntimeSchedules(_0x7522a7['appCode'],{'kind':_0x7522a7[_0x202d8c(0x1bc)](_0x202d8c(0x1c6)),'limit':_0x7522a7[_0x202d8c(0x1bf)](_0x202d8c(0x1dd)),..._0x133709?{'cursor':_0x133709}:{}});return{'ok':!![],'data':_0x5f3ec5};}},scheduleDetail={'service':a57_0x5a117c(0x1ec),'command':a57_0x5a117c(0x1e6),'description':'Show\x20one\x20schedule\x20by\x20schedule\x20ID','risk':'read','flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x1b6ccb){const _0xc54890=a57_0x5a117c,_0x104c32=await getRuntimeSchedule(_0x1b6ccb[_0xc54890(0x1c5)],_0x1b6ccb[_0xc54890(0x1bc)](_0xc54890(0x1cf)));return{'ok':!![],'data':_0x104c32};}},scheduleRun={'service':a57_0x5a117c(0x1ec),'command':a57_0x5a117c(0x1e1),'description':a57_0x5a117c(0x1ee),'risk':a57_0x5a117c(0x1c8),'confirmationDescription':'将忽略原定触发时间,立即运行一次该定时任务并创建新的\x20Agent\x20Task。','flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x120553){const _0x58eb2d=a57_0x5a117c,_0x44c1e2=_0x120553[_0x58eb2d(0x1bc)]('schedule-id'),_0x40f88b=await runRuntimeSchedule(_0x120553[_0x58eb2d(0x1c5)],_0x44c1e2);return{'ok':!![],'data':_0x40f88b,'message':_0x58eb2d(0x1c7)+_0x40f88b['taskId']+'\x20from\x20schedule\x20'+_0x44c1e2};},async 'dryRun'(_0x1b53a4){const _0x38b8dc=a57_0x5a117c,_0x3a50ab=_0x1b53a4[_0x38b8dc(0x1bc)](_0x38b8dc(0x1cf));return dryRun(_0x38b8dc(0x1ca),scheduleItemPath(_0x1b53a4[_0x38b8dc(0x1c5)],_0x3a50ab)+_0x38b8dc(0x1aa))[_0x38b8dc(0x1d8)]('Preview:\x20run\x20schedule\x20'+_0x3a50ab+'\x20immediately')[_0x38b8dc(0x1ac)]();}},scheduleDelete={'service':a57_0x5a117c(0x1ec),'command':a57_0x5a117c(0x1e9),'description':'删除定时任务并停止其后续触发','risk':'high-risk-write','confirmationDescription':'将永久删除该定时任务并停止后续自动触发;已经创建的历史\x20Task\x20不受影响。','flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x4551e1){const _0x2bd1e2=a57_0x5a117c,_0x33ffa5=_0x4551e1[_0x2bd1e2(0x1bc)](_0x2bd1e2(0x1cf)),_0x939d89=await deleteRuntimeSchedule(_0x4551e1[_0x2bd1e2(0x1c5)],_0x33ffa5);return{'ok':!![],'data':_0x939d89,'message':_0x2bd1e2(0x1a7)+_0x33ffa5};},async 'dryRun'(_0x3ec084){const _0x451e82=a57_0x5a117c,_0x21af27=_0x3ec084['str'](_0x451e82(0x1cf));return dryRun('DELETE',scheduleItemPath(_0x3ec084['appCode'],_0x21af27))[_0x451e82(0x1d8)](_0x451e82(0x1e0)+_0x21af27)[_0x451e82(0x1ac)]();}};export const scheduleDefinitions=[scheduleValidate,scheduleCreate,scheduleList,scheduleDetail,scheduleRun,scheduleDelete];
|
package/lib/commands/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a58_0x373c5c=a58_0x2cfa;function a58_0x393b(){const _0x13a4c4=['read','schema','77605fLZyNR','248NpzHNg','2087991ZXyRMS','4248839OOmxuN','4891176XeSCmx','1LVHLSw','5880876rtckHm','2001549IBzcPA','466292epHlsB'];a58_0x393b=function(){return _0x13a4c4;};return a58_0x393b();}(function(_0x29fabc,_0x330296){const _0x55f653=a58_0x2cfa,_0x534cbe=_0x29fabc();while(!![]){try{const _0x4ccc61=-parseInt(_0x55f653(0x16e))/0x1*(parseInt(_0x55f653(0x171))/0x2)+parseInt(_0x55f653(0x170))/0x3+-parseInt(_0x55f653(0x175))/0x4*(parseInt(_0x55f653(0x174))/0x5)+parseInt(_0x55f653(0x16f))/0x6+parseInt(_0x55f653(0x16c))/0x7+-parseInt(_0x55f653(0x16d))/0x8+parseInt(_0x55f653(0x176))/0x9;if(_0x4ccc61===_0x330296)break;else _0x534cbe['push'](_0x534cbe['shift']());}catch(_0x1ba0ca){_0x534cbe['push'](_0x534cbe['shift']());}}}(a58_0x393b,0xa5e24));function a58_0x2cfa(_0x4d50f0,_0x86f699){_0x4d50f0=_0x4d50f0-0x16c;const _0x393b39=a58_0x393b();let _0x2cfacc=_0x393b39[_0x4d50f0];return _0x2cfacc;}import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x36cfd5){const _0x1270a6=await buildSchemaPayload();return{'ok':!![],'data':_0x1270a6};}export const schemaDefinition={'service':a58_0x373c5c(0x173),'command':'export','description':'Export\x20machine-readable\x20command\x20schema\x20(JSON)','risk':a58_0x373c5c(0x172),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x37aaeb,_0x4193c2){const _0xcbd582=a39_0x4052,_0x331b44=_0x37aaeb();while(!![]){try{const _0xd5f61d=-parseInt(_0xcbd582(0x72))/0x1*(-parseInt(_0xcbd582(0xb2))/0x2)+-parseInt(_0xcbd582(0xa8))/0x3+parseInt(_0xcbd582(0x71))/0x4*(parseInt(_0xcbd582(0xba))/0x5)+-parseInt(_0xcbd582(0xc7))/0x6*(parseInt(_0xcbd582(0xa4))/0x7)+-parseInt(_0xcbd582(0x95))/0x8*(parseInt(_0xcbd582(0x8f))/0x9)+parseInt(_0xcbd582(0xb6))/0xa+parseInt(_0xcbd582(0xb4))/0xb;if(_0xd5f61d===_0x4193c2)break;else _0x331b44['push'](_0x331b44['shift']());}catch(_0x106a68){_0x331b44['push'](_0x331b44['shift']());}}}(a39_0x29c3,0x83389));import{compileServiceTreeCommand,matchServiceTreeCommand}from'@lovrabet/cli-framework';import{getLoginUserInfo,listDatasets}from'../../core/api-client.js';import{executeData,executeSdkBff,executeSdkSql}from'../../core/sdk-client.js';import{CliErrors}from'../../errors.js';import{listLocalServices,listLocalServiceTrees}from'../../commands/service/registry.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export function resolveDynamicServiceCommand(_0xe3efa7,_0x1ed0a1){const _0x480b65=a39_0x4052,_0x4ada93=listLocalServiceTrees();let _0x4f21df;for(const _0x253cac of _0x4ada93){const _0x4070dd=matchServiceTreeCommand(_0x253cac,_0xe3efa7);if(!_0x4070dd)continue;(!_0x4f21df||_0x4070dd['command'][_0x480b65(0x6d)][_0x480b65(0xca)]>_0x4f21df[_0x480b65(0xc0)][_0x480b65(0x6d)]['length'])&&(_0x4f21df={'tree':_0x253cac,'command':_0x4070dd[_0x480b65(0xc0)],'remainingArgs':_0x4070dd[_0x480b65(0xa3)]});}if(!_0x4f21df)return undefined;const _0x4664a6={..._0x1ed0a1};return applyAppBinding(_0x4f21df[_0x480b65(0xb7)],_0x4f21df[_0x480b65(0xc0)],_0x4664a6),{'definition':buildDynamicCommandDefinition(_0x4f21df[_0x480b65(0xb7)],_0x4f21df[_0x480b65(0xc0)]),'args':_0x4f21df['remainingArgs'],'flags':_0x4664a6,'tree':_0x4f21df[_0x480b65(0xb7)],'command':_0x4f21df[_0x480b65(0xc0)]};}export function generateDynamicServiceHelp(_0x5eba03){const _0x459455=a39_0x4052,_0x21778c=listLocalServiceTrees()['find'](_0x20be7b=>_0x20be7b[_0x459455(0x69)][_0x459455(0x90)]===_0x5eba03);if(!_0x21778c)return undefined;const _0x23efec=[CLI_BIN_NAME+'\x20'+_0x5eba03+'\x20<command>\x20[flags]','',_0x21778c['service'][_0x459455(0xac)]||_0x5eba03,_0x21778c[_0x459455(0x69)]['description']?'\x20\x20'+_0x21778c['service'][_0x459455(0x7a)]:'','',_0x459455(0x88),..._0x21778c[_0x459455(0x96)][_0x459455(0xb5)](_0x23de4f=>{const _0x27ed25=_0x459455,_0x47030c=_0x23de4f[_0x27ed25(0x6d)][_0x27ed25(0x84)](0x1)[_0x27ed25(0xc8)]('\x20'),_0x40f678=_0x23de4f[_0x27ed25(0x83)]==='read'?'':'\x20['+_0x23de4f['risk']+']';return'\x20\x20'+_0x47030c[_0x27ed25(0x82)](0x18)+'\x20'+(_0x23de4f[_0x27ed25(0x7a)]||'')+_0x40f678;}),'',_0x459455(0x7e)+CLI_BIN_NAME+_0x459455(0xaa)+_0x5eba03+_0x459455(0x6e)]['filter'](Boolean);return _0x23efec['join']('\x0a');}export function listDynamicServiceEntries(){const _0xdfbbe=a39_0x4052;return listLocalServices()[_0xdfbbe(0xb5)](_0x2c7d3a=>{const _0x5026c0=_0xdfbbe,_0x54ff49=_0x2c7d3a['normalizedManifest'];return{'service':_0x54ff49[_0x5026c0(0x69)][_0x5026c0(0x90)],'label':_0x54ff49[_0x5026c0(0x69)][_0x5026c0(0xac)]||_0x54ff49[_0x5026c0(0x69)][_0x5026c0(0x90)],'commands':_0x54ff49[_0x5026c0(0x96)][_0x5026c0(0xb5)](_0x19ccf9=>({'command':dynamicCommandName(_0x19ccf9),'description':_0x19ccf9['description']||_0x5026c0(0x99)+_0x19ccf9[_0x5026c0(0x77)],'tag':riskTag(_0x19ccf9['risk'])}))};});}export function getDynamicServiceEntry(_0x4bfe04){return listDynamicServiceEntries()['find'](_0x5891e0=>_0x5891e0['service']===_0x4bfe04);}export function listDynamicServiceDefinitions(_0x5ae29e){const _0x351015=a39_0x4052;return listLocalServiceTrees()[_0x351015(0xcc)](_0xfc47b4=>!_0x5ae29e||_0xfc47b4['service']['code']===_0x5ae29e)[_0x351015(0xa7)](_0x5ce291=>_0x5ce291['commands'][_0x351015(0xb5)](_0x5c20e5=>buildDynamicCommandDefinition(_0x5ce291,_0x5c20e5)));}export function getDynamicServiceDefinitions(_0x1e8fe){const _0x3f638c=a39_0x4052,_0x46eeff=listDynamicServiceDefinitions(_0x1e8fe);return _0x46eeff[_0x3f638c(0xca)]>0x0?_0x46eeff:undefined;}function a39_0x4052(_0x166f4e,_0x58ee78){_0x166f4e=_0x166f4e-0x66;const _0x29c35d=a39_0x29c3();let _0x405273=_0x29c35d[_0x166f4e];return _0x405273;}export function findDynamicServiceDefinition(_0xf74e61,_0x4882bc){const _0x5a9996=a39_0x4052;return listDynamicServiceDefinitions(_0xf74e61)[_0x5a9996(0x91)](_0x3c1df0=>_0x3c1df0[_0x5a9996(0xc0)]===_0x4882bc);}export function buildDynamicCommandDefinition(_0xd199ca,_0x512749){const _0xaa5527=a39_0x4052;return{'service':_0xd199ca[_0xaa5527(0x69)][_0xaa5527(0x90)],'command':dynamicCommandName(_0x512749),'description':_0x512749[_0xaa5527(0x7a)]||_0xaa5527(0x99)+_0x512749[_0xaa5527(0x77)],'risk':_0x512749[_0xaa5527(0x83)],..._0x512749['risk']===_0xaa5527(0xb8)?{}:{'confirmationDescription':buildDynamicConfirmationDescription(_0x512749)},'requiresAuth':!![],'requiresAppCode':!![],'args':_0x512749['args'][_0xaa5527(0xb5)](_0x231740=>({'name':_0x231740[_0xaa5527(0xac)],'description':_0x231740[_0xaa5527(0x7a)]||_0x231740[_0xaa5527(0xac)],'required':_0x231740[_0xaa5527(0x87)]})),'flags':_0x512749[_0xaa5527(0x6c)][_0xaa5527(0xb5)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x512749),async 'dryRun'(_0xf3db4a){const _0x33573c=_0xaa5527,_0x4aa784=await compilePlan(_0x512749,_0xf3db4a);return{'method':_0x33573c(0x70),'url':_0x512749['cliPath'],'body':{'target':targetPreview(_0x4aa784),'params':_0x4aa784[_0x33573c(0xc1)]},'description':'Preview\x20dynamic\x20service\x20command:\x20'+_0x512749[_0x33573c(0x77)]};},async 'execute'(_0x34cdf8){const _0x35244d=_0xaa5527,_0x577a4e=await compilePlan(_0x512749,_0x34cdf8),_0x3832fb=Date[_0x35244d(0xb0)](),_0x11d8a0=await executePlan(_0x577a4e,_0x512749,_0x34cdf8),_0x2bc867=Date[_0x35244d(0xb0)]()-_0x3832fb;return{'ok':!![],'data':{'service':_0xd199ca[_0x35244d(0x69)],'command':_0x512749[_0x35244d(0x77)],'target':targetPreview(_0x577a4e),'result':_0x11d8a0,'elapsed':_0x2bc867},'message':'Service\x20command\x20'+_0x512749[_0x35244d(0x77)]+_0x35244d(0x7b)+_0x2bc867+'ms'};}};}function buildDynamicConfirmationDescription(_0x5e1861){const _0x132268=a39_0x4052,_0x22ed6f=_0x5e1861[_0x132268(0x7a)]||_0x5e1861[_0x132268(0x77)],_0x470572=_0x5e1861[_0x132268(0x83)]===_0x132268(0x6b)?_0x132268(0x74):'该命令被清单标记为写入,可能修改业务数据或服务状态。';return'将通过\x20Service\x20Tree\x20执行“'+_0x22ed6f+'”。'+_0x470572;}function dynamicCommandName(_0x37b1c0){const _0x22f402=a39_0x4052;return _0x37b1c0[_0x22f402(0x6d)][_0x22f402(0x84)](0x1)[_0x22f402(0xc8)]('\x20');}function riskTag(_0x23b56b){const _0x253cd6=a39_0x4052;return _0x23b56b===_0x253cd6(0xb8)?'':'\x20\x20['+_0x23b56b+']';}function flagToCommandFlag(_0x3a8088){const _0x20f153=a39_0x4052;return{'name':_0x3a8088[_0x20f153(0x98)],'type':_0x3a8088[_0x20f153(0x81)]==='json'?'string':_0x3a8088[_0x20f153(0x81)],'description':_0x3a8088[_0x20f153(0x7a)]||_0x3a8088[_0x20f153(0xac)],'required':_0x3a8088['required'],'default':isPrimitiveFlagDefault(_0x3a8088[_0x20f153(0xa9)])?_0x3a8088[_0x20f153(0xa9)]:undefined,'enum':_0x3a8088[_0x20f153(0xc6)]};}async function compilePlan(_0x345381,_0x63b04a){const _0x3b108e=a39_0x4052;return compileServiceTreeCommand(_0x345381,{'flags':_0x63b04a[_0x3b108e(0x85)],'args':_0x63b04a[_0x3b108e(0x9b)],'context':await buildServiceContext(_0x345381,_0x63b04a)});}async function buildServiceContext(_0x3bdb18,_0x10d2ce){const _0x1e7979=a39_0x4052,_0x4eca91={'appCode':_0x10d2ce['appCode'],'env':_0x10d2ce[_0x1e7979(0xc3)],'envName':_0x10d2ce[_0x1e7979(0xc3)]};if(!usesRuntimeContext(_0x3bdb18))return _0x4eca91;const _0x31152e=await getLoginUserInfo(),_0x7b7d7b=pickFirst(_0x31152e[_0x1e7979(0x7f)],_0x31152e['id']);return{..._0x4eca91,'user':_0x31152e,'userId':_0x7b7d7b,'id':_0x31152e['id'],'username':pickFirst(_0x31152e[_0x1e7979(0x66)],_0x31152e['userName'],_0x31152e[_0x1e7979(0x7c)]),'userName':_0x31152e[_0x1e7979(0xb9)],'nickname':pickFirst(_0x31152e[_0x1e7979(0x8c)],_0x31152e['nickName']),'nickName':_0x31152e[_0x1e7979(0xa1)],'tenantCode':_0x31152e[_0x1e7979(0x68)],'employeeId':_0x31152e['employeeId']};}function usesRuntimeContext(_0x4de98c){const _0x577c50=a39_0x4052;return _0x4de98c[_0x577c50(0x7d)][_0x577c50(0x73)](_0x538302=>typeof _0x538302['source']==='string'&&(_0x538302[_0x577c50(0x92)][_0x577c50(0xad)](_0x577c50(0xc9))||_0x538302[_0x577c50(0x92)][_0x577c50(0xad)](_0x577c50(0x94))));}function pickFirst(..._0x242b6d){return _0x242b6d['find'](_0x148333=>_0x148333!==undefined&&_0x148333!==null);}async function executePlan(_0x3c2d08,_0x4f3bb3,_0x50f99d){const _0x109b6f=a39_0x4052;if(_0x3c2d08[_0x109b6f(0xb1)]===_0x109b6f(0x6a)){const _0x874c9c=await resolveDatasetCode(_0x3c2d08,_0x4f3bb3,_0x50f99d);return executeData(_0x874c9c,_0x3c2d08[_0x109b6f(0xc0)],_0x3c2d08[_0x109b6f(0xc1)]);}if(_0x3c2d08[_0x109b6f(0xb1)]===_0x109b6f(0x79)){if(!_0x3c2d08[_0x109b6f(0x9c)])throw CliErrors[_0x109b6f(0xbb)](_0x109b6f(0x8d)+_0x4f3bb3[_0x109b6f(0x77)]+_0x109b6f(0xbe));return executeSdkSql(_0x3c2d08[_0x109b6f(0x9c)],normalizeScalarParams(_0x3c2d08[_0x109b6f(0xc1)]));}if(_0x3c2d08['kind']===_0x109b6f(0x8a)){const _0x595dd3=_0x3c2d08['scriptName']||_0x3c2d08['bffCode']||(_0x3c2d08[_0x109b6f(0x97)]==null?'':String(_0x3c2d08[_0x109b6f(0x97)]));if(!_0x595dd3)throw CliErrors[_0x109b6f(0xbb)](_0x109b6f(0x8d)+_0x4f3bb3[_0x109b6f(0x77)]+'\x20requires\x20target.functionName.');return executeSdkBff(_0x595dd3,_0x3c2d08[_0x109b6f(0xc1)]);}throw CliErrors[_0x109b6f(0xbb)]('Unsupported\x20service\x20target\x20kind:\x20'+_0x3c2d08[_0x109b6f(0xb1)]);}async function resolveDatasetCode(_0x59246d,_0xdf6447,_0x3ac48f){const _0x3fc9da=a39_0x4052;if(_0x59246d[_0x3fc9da(0x9f)])return _0x59246d[_0x3fc9da(0x9f)];if(!_0x59246d['datatable'])throw CliErrors[_0x3fc9da(0xbb)]('Service\x20command\x20'+_0xdf6447[_0x3fc9da(0x77)]+_0x3fc9da(0x8b));const _0x66293f=await listDatasets(_0x3ac48f[_0x3fc9da(0x75)]),_0xbcaff4=_0x66293f['find'](_0x58dc9d=>_0x58dc9d[_0x3fc9da(0x67)]?.[_0x3fc9da(0xbc)]===_0x59246d[_0x3fc9da(0x76)]);if(!_0xbcaff4?.['code'])throw CliErrors[_0x3fc9da(0xbb)](_0x3fc9da(0xaf)+_0x59246d[_0x3fc9da(0x76)]+_0x3fc9da(0xb3)+_0x3ac48f['appCode']+'.','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.');return _0xbcaff4[_0x3fc9da(0x90)];}function a39_0x29c3(){const _0x4d47b4=['trim','enum','1273872NTyjwr','join','context.','length','appBindings','filter','username','dbtableConfig','tenantCode','service','data','high-risk-write','flags','fullPath','`\x20to\x20inspect\x20the\x20manifest.','\x20\x20\x20\x20','SERVICE_TREE','196hGPmgB','58xODLUS','some','该命令被清单标记为高风险写入,可能产生难以恢复的业务变更。','appCode','datatable','cliPath','\x20\x20\x20\x20command:\x20','sql','description','\x20completed\x20in\x20','loginName','mapTo','Use\x20`','userId','appcode','type','padEnd','risk','slice','rawFlags','bffCode','required','Commands:','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','bff','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','nickname','Service\x20command\x20','\x20\x20\x20\x20datatable:\x20','18WFPNvQ','code','find','source','target','ctx.','3939616fzZMqc','commands','bffId','cliName','Run\x20service\x20command\x20','operator','args','sqlCode','boolean','env','datasetCode','\x20\x20\x20\x20kind:\x20\x20\x20\x20','nickName','\x20->\x20','remainingArgs','28gJBGSG','fromEntries','string','flatMap','2053326HNdAGg','default','\x20service\x20detail\x20--service\x20','Unknown\x20appRef\x20\x22','name','startsWith','\x20\x20\x20\x20functionName:\x20','Cannot\x20resolve\x20datatable\x20\x22','now','kind','19178toeACn','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','15896089XtBAPy','map','9192310jKuoYO','tree','read','userName','13835WLAovs','validation','tableName','\x20\x20\x20\x20datasetCode:\x20','\x20requires\x20target.sqlCode.','app','command','params','\x20\x20MAP\x20TO','envName','push'];a39_0x29c3=function(){return _0x4d47b4;};return a39_0x29c3();}function applyAppBinding(_0x3f7d8c,_0x7c32d3,_0x461567){const _0x581631=a39_0x4052,_0x440920=_0x7c32d3['target']['appRef'];if(!_0x440920)return;const _0x5638d6=_0x3f7d8c[_0x581631(0xcb)][_0x440920];if(!_0x5638d6)throw CliErrors['validation'](_0x581631(0xab)+_0x440920+'\x22\x20in\x20service\x20command\x20'+_0x7c32d3['cliPath']+'.',_0x581631(0x89));const _0x1f7e4b=_0x5638d6[_0x581631(0x80)]||_0x5638d6['appCode'];_0x1f7e4b&&!hasText(_0x461567[_0x581631(0x80)])&&(_0x461567[_0x581631(0x80)]=_0x1f7e4b),_0x5638d6[_0x581631(0xbf)]&&!hasText(_0x461567[_0x581631(0xbf)])&&!hasText(_0x461567[_0x581631(0x80)])&&(_0x461567[_0x581631(0xbf)]=_0x5638d6[_0x581631(0xbf)]),_0x5638d6[_0x581631(0x9e)]&&!hasText(_0x461567['env'])&&(_0x461567['env']=_0x5638d6[_0x581631(0x9e)]);}function renderDynamicCommandHelp(_0x433a6d){const _0x1c3404=a39_0x4052,_0x2b15f5=['\x20\x20SERVICE\x20TREE\x20TARGET',_0x1c3404(0xa0)+_0x433a6d[_0x1c3404(0x93)][_0x1c3404(0xb1)],_0x1c3404(0x78)+_0x433a6d[_0x1c3404(0x93)]['command']];if(_0x433a6d[_0x1c3404(0x93)][_0x1c3404(0x9f)])_0x2b15f5['push'](_0x1c3404(0xbd)+_0x433a6d['target'][_0x1c3404(0x9f)]);if(_0x433a6d[_0x1c3404(0x93)][_0x1c3404(0x76)])_0x2b15f5[_0x1c3404(0xc4)](_0x1c3404(0x8e)+_0x433a6d[_0x1c3404(0x93)][_0x1c3404(0x76)]);if(_0x433a6d[_0x1c3404(0x93)][_0x1c3404(0x9c)])_0x2b15f5['push']('\x20\x20\x20\x20sqlCode:\x20'+_0x433a6d[_0x1c3404(0x93)][_0x1c3404(0x9c)]);if(_0x433a6d[_0x1c3404(0x93)]['scriptName'])_0x2b15f5[_0x1c3404(0xc4)](_0x1c3404(0xae)+_0x433a6d['target']['scriptName']);if(_0x433a6d[_0x1c3404(0x7d)][_0x1c3404(0xca)]>0x0){_0x2b15f5[_0x1c3404(0xc4)]('',_0x1c3404(0xc2));for(const _0x167e97 of _0x433a6d[_0x1c3404(0x7d)]){_0x2b15f5[_0x1c3404(0xc4)](_0x1c3404(0x6f)+(_0x167e97['source']||'const')+_0x1c3404(0xa2)+_0x167e97[_0x1c3404(0x93)]+(_0x167e97['operator']?'.'+_0x167e97[_0x1c3404(0x9a)]:''));}}return _0x2b15f5[_0x1c3404(0xc8)]('\x0a');}function targetPreview(_0x70d29d){const _0x2494fd=a39_0x4052;return{'kind':_0x70d29d['kind'],'command':_0x70d29d[_0x2494fd(0xc0)],'appRef':_0x70d29d['appRef'],'datasetCode':_0x70d29d[_0x2494fd(0x9f)],'datatable':_0x70d29d['datatable'],'sqlCode':_0x70d29d[_0x2494fd(0x9c)],'bffCode':_0x70d29d[_0x2494fd(0x86)],'bffId':_0x70d29d[_0x2494fd(0x97)],'functionName':_0x70d29d['scriptName']};}function normalizeScalarParams(_0x40697a){const _0x4745f2=a39_0x4052;return Object[_0x4745f2(0xa5)](Object['entries'](_0x40697a)[_0x4745f2(0xcc)](([,_0x24c7e5])=>typeof _0x24c7e5===_0x4745f2(0xa6)||typeof _0x24c7e5==='number'));}function hasText(_0x2cec7a){const _0x57a060=a39_0x4052;return typeof _0x2cec7a===_0x57a060(0xa6)&&_0x2cec7a[_0x57a060(0xc5)]()[_0x57a060(0xca)]>0x0;}function isPrimitiveFlagDefault(_0x4eaf3f){const _0x4027db=a39_0x4052;return _0x4eaf3f===undefined||typeof _0x4eaf3f===_0x4027db(0xa6)||typeof _0x4eaf3f==='number'||typeof _0x4eaf3f===_0x4027db(0x9d);}
|
|
1
|
+
(function(_0x52e61f,_0x3304c0){const _0x296458=a59_0x21f5,_0xf6c0dc=_0x52e61f();while(!![]){try{const _0x182f9d=parseInt(_0x296458(0xf2))/0x1+-parseInt(_0x296458(0x128))/0x2+-parseInt(_0x296458(0x118))/0x3+-parseInt(_0x296458(0xf1))/0x4+parseInt(_0x296458(0x12c))/0x5+-parseInt(_0x296458(0xdc))/0x6+parseInt(_0x296458(0xe2))/0x7*(parseInt(_0x296458(0x103))/0x8);if(_0x182f9d===_0x3304c0)break;else _0xf6c0dc['push'](_0xf6c0dc['shift']());}catch(_0x4ef77f){_0xf6c0dc['push'](_0xf6c0dc['shift']());}}}(a59_0xcf23,0xbdc78));import{compileServiceTreeCommand,matchServiceTreeCommand}from'@lovrabet/cli-framework';import{getLoginUserInfo,listDatasets}from'../../core/api-client.js';import{executeData,executeSdkBff,executeSdkSql}from'../../core/sdk-client.js';import{CliErrors}from'../../errors.js';import{listLocalServices,listLocalServiceTrees}from'../../commands/service/registry.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export function resolveDynamicServiceCommand(_0x5d9561,_0x30b9f8){const _0x37898c=a59_0x21f5,_0x105e2b=listLocalServiceTrees();let _0x4951b6;for(const _0x218f2f of _0x105e2b){const _0xb581eb=matchServiceTreeCommand(_0x218f2f,_0x5d9561);if(!_0xb581eb)continue;(!_0x4951b6||_0xb581eb[_0x37898c(0xe8)][_0x37898c(0xde)]['length']>_0x4951b6['command'][_0x37898c(0xde)][_0x37898c(0x119)])&&(_0x4951b6={'tree':_0x218f2f,'command':_0xb581eb[_0x37898c(0xe8)],'remainingArgs':_0xb581eb[_0x37898c(0x120)]});}if(!_0x4951b6)return undefined;const _0x54e395={..._0x30b9f8};return applyAppBinding(_0x4951b6['tree'],_0x4951b6[_0x37898c(0xe8)],_0x54e395),{'definition':buildDynamicCommandDefinition(_0x4951b6[_0x37898c(0xff)],_0x4951b6['command']),'args':_0x4951b6['remainingArgs'],'flags':_0x54e395,'tree':_0x4951b6[_0x37898c(0xff)],'command':_0x4951b6[_0x37898c(0xe8)]};}export function generateDynamicServiceHelp(_0x3e5efa){const _0x150a6d=a59_0x21f5,_0xc06939=listLocalServiceTrees()[_0x150a6d(0x124)](_0x273e00=>_0x273e00[_0x150a6d(0x10d)][_0x150a6d(0xed)]===_0x3e5efa);if(!_0xc06939)return undefined;const _0x44f26a=[CLI_BIN_NAME+'\x20'+_0x3e5efa+_0x150a6d(0xf4),'',_0xc06939[_0x150a6d(0x10d)][_0x150a6d(0x10f)]||_0x3e5efa,_0xc06939[_0x150a6d(0x10d)][_0x150a6d(0xfa)]?'\x20\x20'+_0xc06939[_0x150a6d(0x10d)]['description']:'','',_0x150a6d(0x13c),..._0xc06939['commands']['map'](_0x163462=>{const _0x1ac387=_0x150a6d,_0x265109=_0x163462[_0x1ac387(0xde)][_0x1ac387(0x106)](0x1)[_0x1ac387(0x137)]('\x20'),_0x17f6f4=_0x163462[_0x1ac387(0xfb)]===_0x1ac387(0xf0)?'':'\x20['+_0x163462['risk']+']';return'\x20\x20'+_0x265109[_0x1ac387(0xe9)](0x18)+'\x20'+(_0x163462['description']||'')+_0x17f6f4;}),'',_0x150a6d(0x121)+CLI_BIN_NAME+_0x150a6d(0xe7)+_0x3e5efa+_0x150a6d(0x127)][_0x150a6d(0x135)](Boolean);return _0x44f26a[_0x150a6d(0x137)]('\x0a');}export function listDynamicServiceEntries(){const _0x43f906=a59_0x21f5;return listLocalServices()[_0x43f906(0x102)](_0x1bc266=>{const _0x17e127=_0x43f906,_0x414730=_0x1bc266[_0x17e127(0x134)];return{'service':_0x414730[_0x17e127(0x10d)]['code'],'label':_0x414730[_0x17e127(0x10d)]['name']||_0x414730['service'][_0x17e127(0xed)],'commands':_0x414730[_0x17e127(0xf3)][_0x17e127(0x102)](_0x5ea1c1=>({'command':dynamicCommandName(_0x5ea1c1),'description':_0x5ea1c1['description']||'Run\x20service\x20command\x20'+_0x5ea1c1[_0x17e127(0xdd)],'tag':riskTag(_0x5ea1c1['risk'])}))};});}export function getDynamicServiceEntry(_0x87ebd9){const _0x28e7bc=a59_0x21f5;return listDynamicServiceEntries()['find'](_0x2fbaa9=>_0x2fbaa9[_0x28e7bc(0x10d)]===_0x87ebd9);}export function listDynamicServiceDefinitions(_0x3e4c4e){const _0x3f0c38=a59_0x21f5;return listLocalServiceTrees()[_0x3f0c38(0x135)](_0x4319ee=>!_0x3e4c4e||_0x4319ee['service'][_0x3f0c38(0xed)]===_0x3e4c4e)[_0x3f0c38(0x12e)](_0x1ea903=>_0x1ea903[_0x3f0c38(0xf3)][_0x3f0c38(0x102)](_0x5df139=>buildDynamicCommandDefinition(_0x1ea903,_0x5df139)));}export function getDynamicServiceDefinitions(_0xe5d631){const _0x1ef23d=a59_0x21f5,_0x52ce99=listDynamicServiceDefinitions(_0xe5d631);return _0x52ce99[_0x1ef23d(0x119)]>0x0?_0x52ce99:undefined;}export function findDynamicServiceDefinition(_0x11f52a,_0x5ceb53){const _0xb5c878=a59_0x21f5;return listDynamicServiceDefinitions(_0x11f52a)[_0xb5c878(0x124)](_0x16546b=>_0x16546b['command']===_0x5ceb53);}export function buildDynamicCommandDefinition(_0x2e539e,_0x541670){const _0x26fc0a=a59_0x21f5;return{'service':_0x2e539e['service'][_0x26fc0a(0xed)],'command':dynamicCommandName(_0x541670),'description':_0x541670[_0x26fc0a(0xfa)]||_0x26fc0a(0xee)+_0x541670[_0x26fc0a(0xdd)],'risk':_0x541670['risk'],..._0x541670['risk']==='read'?{}:{'confirmationDescription':buildDynamicConfirmationDescription(_0x541670)},'requiresAuth':!![],'requiresAppCode':!![],'args':_0x541670[_0x26fc0a(0x115)][_0x26fc0a(0x102)](_0x10e751=>({'name':_0x10e751[_0x26fc0a(0x10f)],'description':_0x10e751['description']||_0x10e751['name'],'required':_0x10e751[_0x26fc0a(0x104)]})),'flags':_0x541670[_0x26fc0a(0x112)]['map'](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x541670),async 'dryRun'(_0x31b708){const _0x453b46=_0x26fc0a,_0x4d1040=await compilePlan(_0x541670,_0x31b708);return{'method':'SERVICE_TREE','url':_0x541670[_0x453b46(0xdd)],'body':{'target':targetPreview(_0x4d1040),'params':_0x4d1040[_0x453b46(0x114)]},'description':_0x453b46(0x131)+_0x541670[_0x453b46(0xdd)]};},async 'execute'(_0x70dcb7){const _0x4d7c0e=_0x26fc0a,_0x5ea731=await compilePlan(_0x541670,_0x70dcb7),_0x4e9fbe=Date[_0x4d7c0e(0xd7)](),_0x161713=await executePlan(_0x5ea731,_0x541670,_0x70dcb7),_0x5a8e5b=Date['now']()-_0x4e9fbe;return{'ok':!![],'data':{'service':_0x2e539e[_0x4d7c0e(0x10d)],'command':_0x541670[_0x4d7c0e(0xdd)],'target':targetPreview(_0x5ea731),'result':_0x161713,'elapsed':_0x5a8e5b},'message':_0x4d7c0e(0x130)+_0x541670['cliPath']+_0x4d7c0e(0xdb)+_0x5a8e5b+'ms'};}};}function buildDynamicConfirmationDescription(_0x442119){const _0x8007be=a59_0x21f5,_0x1a8ef9=_0x442119['description']||_0x442119[_0x8007be(0xdd)],_0x59123b=_0x442119[_0x8007be(0xfb)]===_0x8007be(0xea)?_0x8007be(0x12f):_0x8007be(0x13b);return _0x8007be(0x136)+_0x1a8ef9+'”。'+_0x59123b;}function dynamicCommandName(_0x181305){const _0x456761=a59_0x21f5;return _0x181305['fullPath'][_0x456761(0x106)](0x1)[_0x456761(0x137)]('\x20');}function a59_0x21f5(_0x2e4199,_0x381a60){_0x2e4199=_0x2e4199-0xd2;const _0xcf2322=a59_0xcf23();let _0x21f59a=_0xcf2322[_0x2e4199];return _0x21f59a;}function riskTag(_0x2325c3){const _0x53ed17=a59_0x21f5;return _0x2325c3===_0x53ed17(0xf0)?'':_0x53ed17(0xeb)+_0x2325c3+']';}function flagToCommandFlag(_0x246ec9){const _0x2b2618=a59_0x21f5;return{'name':_0x246ec9[_0x2b2618(0x10a)],'type':_0x246ec9[_0x2b2618(0xd8)]==='json'?_0x2b2618(0x10b):_0x246ec9[_0x2b2618(0xd8)],'description':_0x246ec9[_0x2b2618(0xfa)]||_0x246ec9[_0x2b2618(0x10f)],'required':_0x246ec9[_0x2b2618(0x104)],'default':isPrimitiveFlagDefault(_0x246ec9['default'])?_0x246ec9[_0x2b2618(0x105)]:undefined,'enum':_0x246ec9[_0x2b2618(0x126)]};}async function compilePlan(_0x45d759,_0x8f302b){const _0x5a80b7=a59_0x21f5;return compileServiceTreeCommand(_0x45d759,{'flags':_0x8f302b[_0x5a80b7(0xd3)],'args':_0x8f302b[_0x5a80b7(0x115)],'context':await buildServiceContext(_0x45d759,_0x8f302b)});}async function buildServiceContext(_0x3dc57b,_0x228ce2){const _0x3ec258=a59_0x21f5,_0x4bdabf={'appCode':_0x228ce2[_0x3ec258(0x12b)],'env':_0x228ce2['envName'],'envName':_0x228ce2['envName']};if(!usesRuntimeContext(_0x3dc57b))return _0x4bdabf;const _0x50fa4b=await getLoginUserInfo(),_0x47f7dd=pickFirst(_0x50fa4b['userId'],_0x50fa4b['id']);return{..._0x4bdabf,'user':_0x50fa4b,'userId':_0x47f7dd,'id':_0x50fa4b['id'],'username':pickFirst(_0x50fa4b[_0x3ec258(0x10e)],_0x50fa4b[_0x3ec258(0xf8)],_0x50fa4b[_0x3ec258(0xd5)]),'userName':_0x50fa4b[_0x3ec258(0xf8)],'nickname':pickFirst(_0x50fa4b['nickname'],_0x50fa4b[_0x3ec258(0x10c)]),'nickName':_0x50fa4b[_0x3ec258(0x10c)],'tenantCode':_0x50fa4b[_0x3ec258(0xe3)],'employeeId':_0x50fa4b[_0x3ec258(0x11b)]};}function a59_0xcf23(){const _0xb24b2c=['tableName','employeeId','\x20requires\x20target.sqlCode.','scriptName','startsWith','sqlCode','remainingArgs','Use\x20`','target','\x20\x20\x20\x20sqlCode:\x20','find','context.','enum','`\x20to\x20inspect\x20the\x20manifest.','2672570EsRFmJ','Unknown\x20appRef\x20\x22','appRef','appCode','3426420gCauqv','boolean','flatMap','该命令被清单标记为高风险写入,可能产生难以恢复的业务变更。','Service\x20command\x20','Preview\x20dynamic\x20service\x20command:\x20','mapTo','appBindings','normalizedManifest','filter','将通过\x20Service\x20Tree\x20执行“','join','\x20\x20\x20\x20functionName:\x20','bff','dbtableConfig','该命令被清单标记为写入,可能修改业务数据或服务状态。','Commands:','ctx.','rawFlags','\x20requires\x20target.functionName.','loginName','source','now','type','operator','datasetCode','\x20completed\x20in\x20','7667688toBdmB','cliPath','fullPath','env','validation','\x20\x20\x20\x20kind:\x20\x20\x20\x20','7snCPmi','tenantCode','kind','\x20\x20\x20\x20','app','\x20service\x20detail\x20--service\x20','command','padEnd','high-risk-write','\x20\x20[','Cannot\x20resolve\x20datatable\x20\x22','code','Run\x20service\x20command\x20','\x20\x20\x20\x20command:\x20','read','1778644UgIaiQ','425582fwtIfA','commands','\x20<command>\x20[flags]','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','fromEntries','bffId','userName','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','description','risk','\x20\x20\x20\x20datasetCode:\x20','datatable','push','tree','Unsupported\x20service\x20target\x20kind:\x20','bffCode','map','23093912tlpegi','required','default','slice','\x20\x20MAP\x20TO','appcode','const','cliName','string','nickName','service','username','name','trim','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','flags','\x20->\x20','params','args','\x20\x20SERVICE\x20TREE\x20TARGET','sql','484125cBYtOB','length'];a59_0xcf23=function(){return _0xb24b2c;};return a59_0xcf23();}function usesRuntimeContext(_0x489090){const _0x1bcee3=a59_0x21f5;return _0x489090[_0x1bcee3(0x132)]['some'](_0x2cb9a6=>typeof _0x2cb9a6[_0x1bcee3(0xd6)]===_0x1bcee3(0x10b)&&(_0x2cb9a6['source'][_0x1bcee3(0x11e)](_0x1bcee3(0x125))||_0x2cb9a6[_0x1bcee3(0xd6)][_0x1bcee3(0x11e)](_0x1bcee3(0xd2))));}function pickFirst(..._0x21fd2d){const _0x1e84d6=a59_0x21f5;return _0x21fd2d[_0x1e84d6(0x124)](_0x53fb1a=>_0x53fb1a!==undefined&&_0x53fb1a!==null);}async function executePlan(_0x41044c,_0x321790,_0x1557c5){const _0x1285e0=a59_0x21f5;if(_0x41044c['kind']==='data'){const _0x29be3a=await resolveDatasetCode(_0x41044c,_0x321790,_0x1557c5);return executeData(_0x29be3a,_0x41044c[_0x1285e0(0xe8)],_0x41044c[_0x1285e0(0x114)]);}if(_0x41044c[_0x1285e0(0xe4)]===_0x1285e0(0x117)){if(!_0x41044c['sqlCode'])throw CliErrors[_0x1285e0(0xe0)]('Service\x20command\x20'+_0x321790[_0x1285e0(0xdd)]+_0x1285e0(0x11c));return executeSdkSql(_0x41044c[_0x1285e0(0x11f)],normalizeScalarParams(_0x41044c[_0x1285e0(0x114)]));}if(_0x41044c[_0x1285e0(0xe4)]===_0x1285e0(0x139)){const _0x5aef51=_0x41044c[_0x1285e0(0x11d)]||_0x41044c[_0x1285e0(0x101)]||(_0x41044c['bffId']==null?'':String(_0x41044c[_0x1285e0(0xf7)]));if(!_0x5aef51)throw CliErrors[_0x1285e0(0xe0)](_0x1285e0(0x130)+_0x321790['cliPath']+_0x1285e0(0xd4));return executeSdkBff(_0x5aef51,_0x41044c[_0x1285e0(0x114)]);}throw CliErrors['validation'](_0x1285e0(0x100)+_0x41044c[_0x1285e0(0xe4)]);}async function resolveDatasetCode(_0x3dadcc,_0xfa36ca,_0x41cdb5){const _0x3f1b70=a59_0x21f5;if(_0x3dadcc['datasetCode'])return _0x3dadcc['datasetCode'];if(!_0x3dadcc[_0x3f1b70(0xfd)])throw CliErrors[_0x3f1b70(0xe0)](_0x3f1b70(0x130)+_0xfa36ca['cliPath']+_0x3f1b70(0xf9));const _0x305375=await listDatasets(_0x41cdb5[_0x3f1b70(0x12b)]),_0x54b0b1=_0x305375[_0x3f1b70(0x124)](_0x314583=>_0x314583[_0x3f1b70(0x13a)]?.[_0x3f1b70(0x11a)]===_0x3dadcc[_0x3f1b70(0xfd)]);if(!_0x54b0b1?.[_0x3f1b70(0xed)])throw CliErrors[_0x3f1b70(0xe0)](_0x3f1b70(0xec)+_0x3dadcc[_0x3f1b70(0xfd)]+_0x3f1b70(0x111)+_0x41cdb5['appCode']+'.',_0x3f1b70(0xf5));return _0x54b0b1[_0x3f1b70(0xed)];}function applyAppBinding(_0x42afed,_0x273a67,_0x524f9a){const _0xb2e1a2=a59_0x21f5,_0x215c9f=_0x273a67[_0xb2e1a2(0x122)][_0xb2e1a2(0x12a)];if(!_0x215c9f)return;const _0x2a2811=_0x42afed[_0xb2e1a2(0x133)][_0x215c9f];if(!_0x2a2811)throw CliErrors['validation'](_0xb2e1a2(0x129)+_0x215c9f+'\x22\x20in\x20service\x20command\x20'+_0x273a67[_0xb2e1a2(0xdd)]+'.','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.');const _0xcb28d0=_0x2a2811[_0xb2e1a2(0x108)]||_0x2a2811[_0xb2e1a2(0x12b)];_0xcb28d0&&!hasText(_0x524f9a['appcode'])&&(_0x524f9a['appcode']=_0xcb28d0),_0x2a2811[_0xb2e1a2(0xe6)]&&!hasText(_0x524f9a[_0xb2e1a2(0xe6)])&&!hasText(_0x524f9a[_0xb2e1a2(0x108)])&&(_0x524f9a[_0xb2e1a2(0xe6)]=_0x2a2811[_0xb2e1a2(0xe6)]),_0x2a2811[_0xb2e1a2(0xdf)]&&!hasText(_0x524f9a[_0xb2e1a2(0xdf)])&&(_0x524f9a[_0xb2e1a2(0xdf)]=_0x2a2811['env']);}function renderDynamicCommandHelp(_0x199a25){const _0x2ce2c7=a59_0x21f5,_0x5db1cc=[_0x2ce2c7(0x116),_0x2ce2c7(0xe1)+_0x199a25[_0x2ce2c7(0x122)][_0x2ce2c7(0xe4)],_0x2ce2c7(0xef)+_0x199a25[_0x2ce2c7(0x122)]['command']];if(_0x199a25['target'][_0x2ce2c7(0xda)])_0x5db1cc['push'](_0x2ce2c7(0xfc)+_0x199a25['target']['datasetCode']);if(_0x199a25[_0x2ce2c7(0x122)][_0x2ce2c7(0xfd)])_0x5db1cc[_0x2ce2c7(0xfe)]('\x20\x20\x20\x20datatable:\x20'+_0x199a25[_0x2ce2c7(0x122)]['datatable']);if(_0x199a25[_0x2ce2c7(0x122)][_0x2ce2c7(0x11f)])_0x5db1cc[_0x2ce2c7(0xfe)](_0x2ce2c7(0x123)+_0x199a25[_0x2ce2c7(0x122)][_0x2ce2c7(0x11f)]);if(_0x199a25['target'][_0x2ce2c7(0x11d)])_0x5db1cc['push'](_0x2ce2c7(0x138)+_0x199a25[_0x2ce2c7(0x122)][_0x2ce2c7(0x11d)]);if(_0x199a25[_0x2ce2c7(0x132)]['length']>0x0){_0x5db1cc[_0x2ce2c7(0xfe)]('',_0x2ce2c7(0x107));for(const _0x4ee534 of _0x199a25[_0x2ce2c7(0x132)]){_0x5db1cc[_0x2ce2c7(0xfe)](_0x2ce2c7(0xe5)+(_0x4ee534[_0x2ce2c7(0xd6)]||_0x2ce2c7(0x109))+_0x2ce2c7(0x113)+_0x4ee534[_0x2ce2c7(0x122)]+(_0x4ee534[_0x2ce2c7(0xd9)]?'.'+_0x4ee534[_0x2ce2c7(0xd9)]:''));}}return _0x5db1cc['join']('\x0a');}function targetPreview(_0x475a21){const _0xeadc65=a59_0x21f5;return{'kind':_0x475a21[_0xeadc65(0xe4)],'command':_0x475a21[_0xeadc65(0xe8)],'appRef':_0x475a21[_0xeadc65(0x12a)],'datasetCode':_0x475a21['datasetCode'],'datatable':_0x475a21[_0xeadc65(0xfd)],'sqlCode':_0x475a21[_0xeadc65(0x11f)],'bffCode':_0x475a21[_0xeadc65(0x101)],'bffId':_0x475a21[_0xeadc65(0xf7)],'functionName':_0x475a21[_0xeadc65(0x11d)]};}function normalizeScalarParams(_0x444a74){const _0x4d1515=a59_0x21f5;return Object[_0x4d1515(0xf6)](Object['entries'](_0x444a74)['filter'](([,_0xe83ba])=>typeof _0xe83ba===_0x4d1515(0x10b)||typeof _0xe83ba==='number'));}function hasText(_0x26dc5b){const _0x5818b6=a59_0x21f5;return typeof _0x26dc5b===_0x5818b6(0x10b)&&_0x26dc5b[_0x5818b6(0x110)]()[_0x5818b6(0x119)]>0x0;}function isPrimitiveFlagDefault(_0x4665a4){const _0x1ea6e0=a59_0x21f5;return _0x4665a4===undefined||typeof _0x4665a4===_0x1ea6e0(0x10b)||typeof _0x4665a4==='number'||typeof _0x4665a4===_0x1ea6e0(0x12d);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x35bd96,_0x1e98b4){const _0x2f2f72=a60_0x4b53,_0x5c54e5=_0x35bd96();while(!![]){try{const _0x54f3d8=parseInt(_0x2f2f72(0x1cd))/0x1+-parseInt(_0x2f2f72(0x1cb))/0x2*(-parseInt(_0x2f2f72(0x1d1))/0x3)+parseInt(_0x2f2f72(0x1c9))/0x4*(-parseInt(_0x2f2f72(0x1c3))/0x5)+-parseInt(_0x2f2f72(0x1d0))/0x6*(parseInt(_0x2f2f72(0x1e0))/0x7)+-parseInt(_0x2f2f72(0x1da))/0x8+parseInt(_0x2f2f72(0x1dc))/0x9+parseInt(_0x2f2f72(0x1c5))/0xa;if(_0x54f3d8===_0x1e98b4)break;else _0x5c54e5['push'](_0x5c54e5['shift']());}catch(_0x4a16b1){_0x5c54e5['push'](_0x5c54e5['shift']());}}}(a60_0x39cc,0xd0317));export function adaptServiceTreeManifestForLegacyFramework(_0x3c8db5){const _0x202b5b=a60_0x4b53,_0x2fd530=cloneJsonValue(_0x3c8db5),_0x1d698f=[];if(!isObjectRecord(_0x2fd530))return{'manifest':_0x2fd530,'errors':_0x1d698f};return Array[_0x202b5b(0x1e2)](_0x2fd530[_0x202b5b(0x1d5)])&&_0x2fd530[_0x202b5b(0x1d5)]['forEach']((_0x3bab2a,_0x5e1b33)=>{const _0x46174d=_0x202b5b;if(!isObjectRecord(_0x3bab2a))return;adaptBffTarget(_0x3bab2a[_0x46174d(0x1c0)],_0x46174d(0x1d9)+_0x5e1b33+'].target',_0x1d698f);}),adaptResources(_0x2fd530['resources'],_0x202b5b(0x1ce),_0x1d698f),{'manifest':_0x2fd530,'errors':_0x1d698f};}export function toPublicServiceTreeTarget(_0x4863fd){const _0x3a2709=a60_0x4b53,{scriptName:_0x554436,..._0x35b78b}=_0x4863fd;return typeof _0x554436===_0x3a2709(0x1d8)&&_0x554436[_0x3a2709(0x1c8)]()&&(_0x35b78b[_0x3a2709(0x1dd)]=_0x554436),_0x35b78b;}export function toPublicNormalizedServiceTree(_0x9a2b99){const _0x53504d=a60_0x4b53;return{..._0x9a2b99,'commands':_0x9a2b99[_0x53504d(0x1d5)][_0x53504d(0x1c2)](_0x5736f8=>({..._0x5736f8,'target':toPublicServiceTreeTarget(_0x5736f8['target'])}))};}function adaptResources(_0x28030c,_0x4dd19e,_0x3bceda){const _0x5be3f7=a60_0x4b53;if(!isObjectRecord(_0x28030c))return;for(const [_0x5eb6e7,_0x19cd56]of Object[_0x5be3f7(0x1d3)](_0x28030c)){if(!isObjectRecord(_0x19cd56))continue;const _0x3f39c7=_0x4dd19e+'.'+_0x5eb6e7;if(isObjectRecord(_0x19cd56['actions']))for(const [_0x2dca57,_0x36a2c1]of Object[_0x5be3f7(0x1d3)](_0x19cd56[_0x5be3f7(0x1db)])){if(!isObjectRecord(_0x36a2c1))continue;const _0x298e23=_0x3f39c7+_0x5be3f7(0x1e1)+_0x2dca57,_0x45b013=isObjectRecord(_0x36a2c1[_0x5be3f7(0x1c0)])&&_0x36a2c1[_0x5be3f7(0x1c0)][_0x5be3f7(0x1ca)]===_0x5be3f7(0x1be);adaptBffTarget(_0x36a2c1['target'],_0x298e23+_0x5be3f7(0x1cc),_0x3bceda),(_0x45b013||isBffAction(_0x36a2c1))&&adaptFunctionNameField(_0x36a2c1,_0x298e23,_0x3bceda);}adaptResources(_0x19cd56['resources'],_0x3f39c7+_0x5be3f7(0x1bf),_0x3bceda);}}function adaptBffTarget(_0x3c9348,_0x39942d,_0x3aea17){const _0x7dfa75=a60_0x4b53;if(!isObjectRecord(_0x3c9348)||_0x3c9348[_0x7dfa75(0x1ca)]!=='bff')return;adaptFunctionNameField(_0x3c9348,_0x39942d,_0x3aea17);}function a60_0x39cc(){const _0x14dc24=['isArray','bff','.resources','target','call','map','710SqsjOV','.scriptName','30770920XhkziS','bff.exec','object','trim','47516flHfhj','kind','3364IgRmZe','.target','633542hCfsWv','$.resources','prototype','248580qxGIbE','1356xwjrdu','hasOwnProperty','entries','scriptName','commands','push','error','string','$.commands[','10969512jbmOpA','actions','551862QDyNLb','functionName','fromEntries','action','105VwzWet','.actions.'];a60_0x39cc=function(){return _0x14dc24;};return a60_0x39cc();}function a60_0x4b53(_0x17b6b9,_0x5571e8){_0x17b6b9=_0x17b6b9-0x1be;const _0x39ccc0=a60_0x39cc();let _0x4b5317=_0x39ccc0[_0x17b6b9];return _0x4b5317;}function adaptFunctionNameField(_0x183e77,_0x5d0b4f,_0x13db7b){const _0xe60468=a60_0x4b53;Object['prototype'][_0xe60468(0x1d2)][_0xe60468(0x1c1)](_0x183e77,_0xe60468(0x1d4))&&_0x13db7b[_0xe60468(0x1d6)]({'level':_0xe60468(0x1d7),'path':_0x5d0b4f+_0xe60468(0x1c4),'message':'Use\x20functionName;\x20scriptName\x20is\x20not\x20part\x20of\x20the\x20runtime\x20Service\x20Tree\x20contract.'});if(Object[_0xe60468(0x1cf)][_0xe60468(0x1d2)]['call'](_0x183e77,_0xe60468(0x1dd))){if(typeof _0x183e77['functionName']!=='string'||!_0x183e77[_0xe60468(0x1dd)][_0xe60468(0x1c8)]()){_0x13db7b[_0xe60468(0x1d6)]({'level':_0xe60468(0x1d7),'path':_0x5d0b4f+'.functionName','message':'functionName\x20must\x20be\x20a\x20non-empty\x20string.'}),delete _0x183e77[_0xe60468(0x1dd)];return;}_0x183e77['scriptName']=_0x183e77[_0xe60468(0x1dd)],delete _0x183e77[_0xe60468(0x1dd)];}}function isBffAction(_0x2a4187){const _0x11dbe5=a60_0x4b53;return _0x2a4187[_0x11dbe5(0x1ca)]===_0x11dbe5(0x1be)||_0x2a4187[_0x11dbe5(0x1df)]===_0x11dbe5(0x1c6)||_0x2a4187[_0x11dbe5(0x1c0)]===_0x11dbe5(0x1c6);}function cloneJsonValue(_0x58301c){const _0x4d04e3=a60_0x4b53;if(Array[_0x4d04e3(0x1e2)](_0x58301c))return _0x58301c[_0x4d04e3(0x1c2)](_0x23a859=>cloneJsonValue(_0x23a859));if(isObjectRecord(_0x58301c))return Object[_0x4d04e3(0x1de)](Object['entries'](_0x58301c)[_0x4d04e3(0x1c2)](([_0x3c1441,_0x173832])=>[_0x3c1441,cloneJsonValue(_0x173832)]));return _0x58301c;}function isObjectRecord(_0x2ec829){const _0x5ec64a=a60_0x4b53;return Boolean(_0x2ec829)&&typeof _0x2ec829===_0x5ec64a(0x1c7)&&!Array[_0x5ec64a(0x1e2)](_0x2ec829);}
|