@lovrabet/lovrabet-cli 2.3.0-beta.3 → 2.3.0-beta.5
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/init.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.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/notification/shared.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/permit/dataset-get.js +1 -1
- package/lib/commands/permit/dataset-set.js +1 -1
- package/lib/commands/permit/index.js +1 -1
- package/lib/commands/permit/page-get.js +1 -1
- package/lib/commands/permit/page-set.js +1 -1
- package/lib/commands/permit/role-menus-set.js +1 -1
- package/lib/commands/permit/role-menus.js +1 -1
- package/lib/commands/permit/shared.js +1 -1
- package/lib/commands/personal-bff/index.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/create.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/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/domain-config.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/region.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.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/access-key-redaction.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.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 +1 -1
- package/skills/lovrabet.manifest.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a57_0x2809(){const _0x403699=['description','2347765EZuXbo','1044690NnWUBw','roleList','userId','2699874DArfUk','12dCCEor','Preview:\x20remove\x20runtime\x20role\x20member','appCode','warnings','892503gLGPJj','body','14zVJyuG','/client/permit/user-role/update-user-list','1531593DGqFbR','role','20gMsGqA','4AwfvpO','32260316KBZgLt','POST','3967936kvURvV','user-remove','shouldWrite'];a57_0x2809=function(){return _0x403699;};return a57_0x2809();}const a57_0x2caa3d=a57_0x4595;function a57_0x4595(_0x390a3d,_0x486941){_0x390a3d=_0x390a3d-0x108;const _0x2809fd=a57_0x2809();let _0x4595de=_0x2809fd[_0x390a3d];return _0x4595de;}(function(_0x563b4b,_0x31518b){const _0x2526b9=a57_0x4595,_0x2b4a37=_0x563b4b();while(!![]){try{const _0x505cc3=parseInt(_0x2526b9(0x111))/0x1+parseInt(_0x2526b9(0x109))/0x2*(parseInt(_0x2526b9(0x119))/0x3)+-parseInt(_0x2526b9(0x115))/0x4*(-parseInt(_0x2526b9(0x110))/0x5)+parseInt(_0x2526b9(0x114))/0x6*(parseInt(_0x2526b9(0x11b))/0x7)+-parseInt(_0x2526b9(0x10c))/0x8+parseInt(_0x2526b9(0x11d))/0x9*(parseInt(_0x2526b9(0x108))/0xa)+-parseInt(_0x2526b9(0x10a))/0xb;if(_0x505cc3===_0x31518b)break;else _0x2b4a37['push'](_0x2b4a37['shift']());}catch(_0x5121f4){_0x2b4a37['push'](_0x2b4a37['shift']());}}}(a57_0x2809,0xd1f0b));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':a57_0x2caa3d(0x10d),'description':'Remove\x20a\x20numeric\x20userId\x20from\x20one\x20runtime\x20role','risk':'high-risk-write','confirmationDescription':'Removes\x20the\x20given\x20runtime\x20user\x20from\x20the\x20target\x20role.\x20The\x20user\x20loses\x20permissions\x20granted\x20only\x20by\x20that\x20role.','flags':[ROLE_REF_FLAG,USER_ID_FLAG,EXPECT_USER_COUNT_FLAG],async 'dryRun'(_0x7eeb2a){const _0x105deb=a57_0x2caa3d,_0x1c04ec=await prepareRuntimeMemberMutation(_0x7eeb2a,_0x105deb(0x10d));return dryRun('POST',_0x105deb(0x11c))[_0x105deb(0x11a)]({'appCode':_0x7eeb2a[_0x105deb(0x117)],'roleList':_0x1c04ec['roleList']})[_0x105deb(0x10f)](_0x1c04ec[_0x105deb(0x10e)]?_0x105deb(0x116):_0x1c04ec[_0x105deb(0x118)][0x0])['build']();},async 'execute'(_0x4ddb05){const _0x5db855=a57_0x2caa3d,_0x39b1d1=await prepareRuntimeMemberMutation(_0x4ddb05,_0x5db855(0x10d));return _0x39b1d1[_0x5db855(0x10e)]&&await updateRuntimeRoleUsers(_0x4ddb05[_0x5db855(0x117)],_0x39b1d1[_0x5db855(0x112)]),{'ok':!![],'data':runtimeRoleWriteResult(_0x5db855(0x10d),{'roleId':_0x39b1d1[_0x5db855(0x11e)]['id'],'userId':_0x39b1d1[_0x5db855(0x113)]},_0x39b1d1['before'],_0x39b1d1['after'],{'method':_0x5db855(0x10b),'path':_0x5db855(0x11c)},_0x39b1d1[_0x5db855(0x118)])};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a58_0x843b61=a58_0xe2cb;(function(_0x1a34c2,_0x10363a){const _0x1ac700=a58_0xe2cb,_0x34c5ac=_0x1a34c2();while(!![]){try{const _0x315e32=parseInt(_0x1ac700(0xdb))/0x1+parseInt(_0x1ac700(0xde))/0x2+-parseInt(_0x1ac700(0xd3))/0x3*(parseInt(_0x1ac700(0xda))/0x4)+-parseInt(_0x1ac700(0xb9))/0x5+-parseInt(_0x1ac700(0xb6))/0x6*(-parseInt(_0x1ac700(0xa6))/0x7)+parseInt(_0x1ac700(0xcb))/0x8*(parseInt(_0x1ac700(0xb2))/0x9)+-parseInt(_0x1ac700(0xdc))/0xa;if(_0x315e32===_0x10363a)break;else _0x34c5ac['push'](_0x34c5ac['shift']());}catch(_0x279f8e){_0x34c5ac['push'](_0x34c5ac['shift']());}}}(a58_0x5232,0x20c48));function a58_0x5232(){const _0x57a5fb=['Preview:\x20create\x20an\x20Agent\x20schedule','num','List\x20current\x20user\x27s\x20schedules\x20for\x20the\x20current\x20app','Preview:\x20delete\x20schedule\x20','deepseek-v4-pro-0813','description','Schedule\x20input\x20is\x20valid','Deleted\x20schedule\x20','length','validate','number','243sjgxNG','ONCE\x20schedules\x20require\x20--scheduled-at\x20and\x20do\x20not\x20accept\x20--cron.','Permanently\x20deletes\x20the\x20schedule\x20and\x20stops\x20future\x20auto-triggers.\x20Historical\x20Tasks\x20already\x20created\x20are\x20not\x20affected.','Run\x20the\x20schedule\x20once\x20immediately\x20and\x20create\x20a\x20Task','261114wTJJju','Schedule\x20title','appCode','472890OKAYKJ','str','Ignores\x20the\x20original\x20trigger\x20time,\x20runs\x20the\x20schedule\x20once\x20now,\x20and\x20creates\x20a\x20new\x20Agent\x20Task.','UTC','/api/harness/apps/','Schedule\x20kind:\x20CRON\x20or\x20ONCE','\x20immediately','Page\x20size\x20from\x201\x20to\x20100','limit','detail','ONCE','schedule','CRON\x20schedules\x20require\x20--cron\x20and\x20do\x20not\x20accept\x20--scheduled-at.','deepseek-v4-flash-0731','trim','POST','\x20from\x20schedule\x20','isSafeInteger','76144RaljAp','scheduleId','--title\x20must\x20not\x20be\x20blank.','Create\x20a\x20recurring\x20or\x20one-shot\x20Agent\x20schedule','title','DELETE','run','kimi/k3','492117qlQyoV','/run','high-risk-write','Prompt\x20sent\x20to\x20the\x20Agent\x20when\x20the\x20schedule\x20runs','read','build','create','4NnSTex','240981duPyFZ','1741460zdTKXt','string','50986UJgFCB','scheduled-at','Five-field\x20UTC\x20cron\x20expression\x20for\x20CRON\x20schedules','Delete\x20the\x20schedule\x20and\x20stop\x20future\x20triggers','validation','cursor','prompt','kind','Creates\x20a\x20schedule\x20in\x20the\x20current\x20app\x20that\x20can\x20auto-trigger\x20an\x20Agent.\x20At\x20the\x20scheduled\x20time\x20a\x20Task\x20is\x20created\x20and\x20run.','/schedules','model','\x20schedule\x20','Queued\x20Task\x20','schedule-id','7KsCGoh'];a58_0x5232=function(){return _0x57a5fb;};return a58_0x5232();}import{createRuntimeSchedule,deleteRuntimeSchedule,getRuntimeSchedule,listRuntimeSchedules,runRuntimeSchedule,validateRuntimeSchedule}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a58_0xe2cb(_0x58a334,_0x366693){_0x58a334=_0x58a334-0x9e;const _0x523201=a58_0x5232();let _0xe2cbd6=_0x523201[_0x58a334];return _0xe2cbd6;}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':a58_0x843b61(0x9f),'type':'string','required':!![],'enum':['CRON',a58_0x843b61(0xc3)],'description':a58_0x843b61(0xbe)},CRON_FLAG={'name':'cron','type':a58_0x843b61(0xdd),'description':a58_0x843b61(0xe0)},SCHEDULED_AT_FLAG={'name':a58_0x843b61(0xdf),'type':a58_0x843b61(0xdd),'description':'Canonical\x20UTC\x20ISO\x20datetime\x20for\x20ONCE\x20schedules'},TITLE_FLAG={'name':'title','type':a58_0x843b61(0xdd),'required':!![],'description':a58_0x843b61(0xb7)},PROMPT_FLAG={'name':a58_0x843b61(0x9e),'type':'string','required':!![],'description':a58_0x843b61(0xd6)},MODEL_FLAG={'name':a58_0x843b61(0xa2),'type':'string','enum':[a58_0x843b61(0xd2),a58_0x843b61(0xc6),a58_0x843b61(0xab)],'default':a58_0x843b61(0xc6),'description':'Task\x20model\x20used\x20when\x20the\x20schedule\x20runs'},SCHEDULE_ID_FLAG={'name':'schedule-id','type':a58_0x843b61(0xdd),'required':!![],'description':'Schedule\x20UUID','pattern':{'regex':SCHEDULE_ID_PATTERN,'description':'a\x20UUID\x20returned\x20by\x20schedule\x20create/list'}},LIMIT_FLAG={'name':a58_0x843b61(0xc1),'type':a58_0x843b61(0xb1),'default':0x14,'description':a58_0x843b61(0xc0)},CURSOR_FLAG={'name':'cursor','type':'string','description':'Opaque\x20nextCursor\x20returned\x20by\x20the\x20previous\x20list\x20call'},INPUT_FLAGS=[KIND_FLAG,CRON_FLAG,SCHEDULED_AT_FLAG,TITLE_FLAG,PROMPT_FLAG,MODEL_FLAG];function readScheduleInput(_0xff368f){const _0x4b990e=a58_0x843b61,_0x16ffb3=_0xff368f[_0x4b990e(0xba)](_0x4b990e(0x9f)),_0x25283a=_0xff368f[_0x4b990e(0xba)](_0x4b990e(0xcf))[_0x4b990e(0xc7)](),_0x3b87d4=_0xff368f[_0x4b990e(0xba)](_0x4b990e(0x9e))['trim'](),_0x14a97b=_0xff368f['str']('model'),_0x2110de=_0xff368f[_0x4b990e(0xba)]('cron'),_0x12beee=_0xff368f[_0x4b990e(0xba)](_0x4b990e(0xdf));if(!_0x25283a)throw CliErrors[_0x4b990e(0xe2)](_0x4b990e(0xcd));if(!_0x3b87d4)throw CliErrors[_0x4b990e(0xe2)]('--prompt\x20must\x20not\x20be\x20blank.');if(_0x16ffb3==='CRON'){if(!_0x2110de||_0x12beee)throw CliErrors[_0x4b990e(0xe2)](_0x4b990e(0xc5));return{'kind':_0x16ffb3,'timezone':_0x4b990e(0xbc),'cron':_0x2110de,'title':_0x25283a,'prompt':_0x3b87d4,'model':_0x14a97b};}if(_0x16ffb3==='ONCE'){if(!_0x12beee||_0x2110de)throw CliErrors['validation'](_0x4b990e(0xb3));return{'kind':_0x16ffb3,'timezone':'UTC','scheduledAt':_0x12beee,'title':_0x25283a,'prompt':_0x3b87d4,'model':_0x14a97b};}throw CliErrors[_0x4b990e(0xe2)]('--kind\x20must\x20be\x20CRON\x20or\x20ONCE.');}function scheduleCollectionPath(_0x5c5bb0){const _0xd141c1=a58_0x843b61;return _0xd141c1(0xbd)+encodeURIComponent(_0x5c5bb0)+_0xd141c1(0xa1);}function scheduleItemPath(_0x406f04,_0x37216d){return scheduleCollectionPath(_0x406f04)+'/'+encodeURIComponent(_0x37216d);}const scheduleValidate={'service':a58_0x843b61(0xc4),'command':a58_0x843b61(0xb0),'description':'Validate\x20a\x20UTC\x20schedule\x20without\x20creating\x20it','risk':a58_0x843b61(0xd7),'flags':INPUT_FLAGS,async 'validate'(_0x6868ed){readScheduleInput(_0x6868ed);},async 'execute'(_0x4e671f){const _0x116c92=a58_0x843b61,_0x4ef3f0=readScheduleInput(_0x4e671f),_0x16e806=await validateRuntimeSchedule(_0x4e671f[_0x116c92(0xb8)],_0x4ef3f0);return{'ok':!![],'data':_0x16e806,'message':_0x116c92(0xad)};}},scheduleCreate={'service':a58_0x843b61(0xc4),'command':a58_0x843b61(0xd9),'description':a58_0x843b61(0xce),'risk':a58_0x843b61(0xd5),'confirmationDescription':a58_0x843b61(0xa0),'flags':INPUT_FLAGS,async 'validate'(_0x3ab7dd){readScheduleInput(_0x3ab7dd);},async 'execute'(_0x35ed20){const _0x1dbe19=a58_0x843b61,_0x944cba=readScheduleInput(_0x35ed20),_0x458eb5=await validateRuntimeSchedule(_0x35ed20[_0x1dbe19(0xb8)],_0x944cba),_0x5eb4b3=await createRuntimeSchedule(_0x35ed20['appCode'],_0x458eb5);return{'ok':!![],'data':_0x5eb4b3,'message':'Created\x20'+_0x5eb4b3[_0x1dbe19(0x9f)]+_0x1dbe19(0xa3)+_0x5eb4b3[_0x1dbe19(0xcc)]};},async 'dryRun'(_0x53ef45){const _0x6a44e2=a58_0x843b61,_0x2d4e56=readScheduleInput(_0x53ef45);return dryRun(_0x6a44e2(0xc8),scheduleCollectionPath(_0x53ef45[_0x6a44e2(0xb8)]))['body'](_0x2d4e56)['description'](_0x6a44e2(0xa7))[_0x6a44e2(0xd8)]();}},scheduleList={'service':a58_0x843b61(0xc4),'command':'list','description':a58_0x843b61(0xa9),'risk':a58_0x843b61(0xd7),'flags':[KIND_FLAG,LIMIT_FLAG,CURSOR_FLAG],async 'validate'(_0x498cdd){const _0x3881d0=a58_0x843b61,_0x324fc2=_0x498cdd['num'](_0x3881d0(0xc1));if(!Number[_0x3881d0(0xca)](_0x324fc2)||_0x324fc2<0x1||_0x324fc2>0x64)throw CliErrors[_0x3881d0(0xe2)]('--limit\x20must\x20be\x20an\x20integer\x20from\x201\x20to\x20100.');const _0x5b6e3c=_0x498cdd[_0x3881d0(0xba)](_0x3881d0(0xe3));if(_0x5b6e3c&&(_0x5b6e3c[_0x3881d0(0xaf)]>0x400||_0x5b6e3c['trim']()!==_0x5b6e3c))throw CliErrors[_0x3881d0(0xe2)]('--cursor\x20must\x20be\x20the\x20unchanged\x20nextCursor\x20from\x20schedule\x20list.');},async 'execute'(_0x2b5b8d){const _0x243170=a58_0x843b61,_0x300734=_0x2b5b8d[_0x243170(0xba)](_0x243170(0xe3)),_0x5a3ee0=await listRuntimeSchedules(_0x2b5b8d[_0x243170(0xb8)],{'kind':_0x2b5b8d['str']('kind'),'limit':_0x2b5b8d[_0x243170(0xa8)](_0x243170(0xc1)),..._0x300734?{'cursor':_0x300734}:{}});return{'ok':!![],'data':_0x5a3ee0};}},scheduleDetail={'service':a58_0x843b61(0xc4),'command':a58_0x843b61(0xc2),'description':'Show\x20one\x20schedule\x20by\x20schedule\x20ID','risk':a58_0x843b61(0xd7),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x6c43d2){const _0x289e80=a58_0x843b61,_0x552efd=await getRuntimeSchedule(_0x6c43d2['appCode'],_0x6c43d2[_0x289e80(0xba)](_0x289e80(0xa5)));return{'ok':!![],'data':_0x552efd};}},scheduleRun={'service':a58_0x843b61(0xc4),'command':a58_0x843b61(0xd1),'description':a58_0x843b61(0xb5),'risk':'high-risk-write','confirmationDescription':a58_0x843b61(0xbb),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x21e827){const _0x408d80=a58_0x843b61,_0x14fd83=_0x21e827[_0x408d80(0xba)](_0x408d80(0xa5)),_0x1d941d=await runRuntimeSchedule(_0x21e827[_0x408d80(0xb8)],_0x14fd83);return{'ok':!![],'data':_0x1d941d,'message':_0x408d80(0xa4)+_0x1d941d['taskId']+_0x408d80(0xc9)+_0x14fd83};},async 'dryRun'(_0x44f078){const _0x44d3f6=a58_0x843b61,_0x2ee344=_0x44f078[_0x44d3f6(0xba)]('schedule-id');return dryRun(_0x44d3f6(0xc8),scheduleItemPath(_0x44f078[_0x44d3f6(0xb8)],_0x2ee344)+_0x44d3f6(0xd4))[_0x44d3f6(0xac)]('Preview:\x20run\x20schedule\x20'+_0x2ee344+_0x44d3f6(0xbf))[_0x44d3f6(0xd8)]();}},scheduleDelete={'service':a58_0x843b61(0xc4),'command':'delete','description':a58_0x843b61(0xe1),'risk':a58_0x843b61(0xd5),'confirmationDescription':a58_0x843b61(0xb4),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x2f9ea4){const _0x5a8951=a58_0x843b61,_0x1bbc05=_0x2f9ea4[_0x5a8951(0xba)](_0x5a8951(0xa5)),_0x10c969=await deleteRuntimeSchedule(_0x2f9ea4[_0x5a8951(0xb8)],_0x1bbc05);return{'ok':!![],'data':_0x10c969,'message':_0x5a8951(0xae)+_0x1bbc05};},async 'dryRun'(_0x4fb4c8){const _0x16fb82=a58_0x843b61,_0x501cc6=_0x4fb4c8[_0x16fb82(0xba)]('schedule-id');return dryRun(_0x16fb82(0xd0),scheduleItemPath(_0x4fb4c8[_0x16fb82(0xb8)],_0x501cc6))[_0x16fb82(0xac)](_0x16fb82(0xaa)+_0x501cc6)[_0x16fb82(0xd8)]();}};export const scheduleDefinitions=[scheduleValidate,scheduleCreate,scheduleList,scheduleDetail,scheduleRun,scheduleDelete];
|
|
1
|
+
const a58_0xf58dc8=a58_0x5a57;(function(_0x157d82,_0xe2f02a){const _0x3b4bf3=a58_0x5a57,_0x5c7f85=_0x157d82();while(!![]){try{const _0x36b5db=parseInt(_0x3b4bf3(0x1b7))/0x1*(parseInt(_0x3b4bf3(0x1da))/0x2)+parseInt(_0x3b4bf3(0x1d3))/0x3+-parseInt(_0x3b4bf3(0x1f2))/0x4+-parseInt(_0x3b4bf3(0x1e4))/0x5*(-parseInt(_0x3b4bf3(0x1b3))/0x6)+parseInt(_0x3b4bf3(0x1c7))/0x7*(-parseInt(_0x3b4bf3(0x1c5))/0x8)+-parseInt(_0x3b4bf3(0x1c1))/0x9*(parseInt(_0x3b4bf3(0x1b9))/0xa)+-parseInt(_0x3b4bf3(0x1e3))/0xb*(-parseInt(_0x3b4bf3(0x1ea))/0xc);if(_0x36b5db===_0xe2f02a)break;else _0x5c7f85['push'](_0x5c7f85['shift']());}catch(_0x167eb3){_0x5c7f85['push'](_0x5c7f85['shift']());}}}(a58_0xd195,0x1aca1));import{createRuntimeSchedule,deleteRuntimeSchedule,getRuntimeSchedule,listRuntimeSchedules,runRuntimeSchedule,validateRuntimeSchedule}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a58_0xd195(){const _0x3cec3c=['high-risk-write','kind','Creates\x20a\x20schedule\x20in\x20the\x20current\x20app\x20that\x20can\x20auto-trigger\x20an\x20Agent.\x20At\x20the\x20scheduled\x20time\x20a\x20Task\x20is\x20created\x20and\x20run.','list','Deleted\x20schedule\x20','body','--kind\x20must\x20be\x20CRON\x20or\x20ONCE.','trim','998826HDCGxe','build','Canonical\x20UTC\x20ISO\x20datetime\x20for\x20ONCE\x20schedules','Task\x20model\x20used\x20when\x20the\x20schedule\x20runs','2AaCEAs','\x20from\x20schedule\x20','6860MozUWK','create','appCode','cron','Run\x20the\x20schedule\x20once\x20immediately\x20and\x20create\x20a\x20Task','Permanently\x20deletes\x20the\x20schedule\x20and\x20stops\x20future\x20auto-triggers.\x20Historical\x20Tasks\x20already\x20created\x20are\x20not\x20affected.','UTC','Preview:\x20create\x20an\x20Agent\x20schedule','2826bJBcxJ','a\x20UUID\x20returned\x20by\x20schedule\x20create/list','Schedule\x20title','str','148216LXfrtS','Queued\x20Task\x20','49cfmPPj','--cursor\x20must\x20be\x20the\x20unchanged\x20nextCursor\x20from\x20schedule\x20list.','limit','validation','Preview:\x20run\x20schedule\x20','schedule-id','taskId','List\x20current\x20user\x27s\x20schedules\x20for\x20the\x20current\x20app','Preview:\x20delete\x20schedule\x20','deepseek-v4-pro-0813','num','schedule','37095wFUdAG','length','Schedule\x20kind:\x20CRON\x20or\x20ONCE','CRON\x20schedules\x20require\x20--cron\x20and\x20do\x20not\x20accept\x20--scheduled-at.','Delete\x20the\x20schedule\x20and\x20stop\x20future\x20triggers','ONCE','Validate\x20a\x20UTC\x20schedule\x20without\x20creating\x20it','157426OapYbX','--title\x20must\x20not\x20be\x20blank.','description','DELETE','kimi/k3','read','/run','scheduleId','--limit\x20must\x20be\x20an\x20integer\x20from\x201\x20to\x20100.','22DKTrDW','5VMNQmc','delete','prompt','Created\x20','cursor','validate','1200612QEHhrd','/api/harness/apps/','title','detail','scheduled-at','Create\x20a\x20recurring\x20or\x20one-shot\x20Agent\x20schedule','CRON','deepseek-v4-flash-0731','326168JIVyWL','--prompt\x20must\x20not\x20be\x20blank.','run','ONCE\x20schedules\x20require\x20--scheduled-at\x20and\x20do\x20not\x20accept\x20--cron.','Five-field\x20UTC\x20cron\x20expression\x20for\x20CRON\x20schedules','string','Schedule\x20input\x20is\x20valid'];a58_0xd195=function(){return _0x3cec3c;};return a58_0xd195();}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':a58_0xf58dc8(0x1fa),'type':a58_0xf58dc8(0x1f7),'required':!![],'enum':[a58_0xf58dc8(0x1f0),'ONCE'],'description':a58_0xf58dc8(0x1d5)},CRON_FLAG={'name':'cron','type':a58_0xf58dc8(0x1f7),'description':a58_0xf58dc8(0x1f6)},SCHEDULED_AT_FLAG={'name':a58_0xf58dc8(0x1ee),'type':a58_0xf58dc8(0x1f7),'description':a58_0xf58dc8(0x1b5)},TITLE_FLAG={'name':a58_0xf58dc8(0x1ec),'type':'string','required':!![],'description':a58_0xf58dc8(0x1c3)},PROMPT_FLAG={'name':a58_0xf58dc8(0x1e6),'type':a58_0xf58dc8(0x1f7),'required':!![],'description':'Prompt\x20sent\x20to\x20the\x20Agent\x20when\x20the\x20schedule\x20runs'},MODEL_FLAG={'name':'model','type':a58_0xf58dc8(0x1f7),'enum':[a58_0xf58dc8(0x1de),a58_0xf58dc8(0x1f1),a58_0xf58dc8(0x1d0)],'default':a58_0xf58dc8(0x1f1),'description':a58_0xf58dc8(0x1b6)},SCHEDULE_ID_FLAG={'name':a58_0xf58dc8(0x1cc),'type':'string','required':!![],'description':'Schedule\x20UUID','pattern':{'regex':SCHEDULE_ID_PATTERN,'description':a58_0xf58dc8(0x1c2)}},LIMIT_FLAG={'name':a58_0xf58dc8(0x1c9),'type':'number','default':0x14,'description':'Page\x20size\x20from\x201\x20to\x20100'},CURSOR_FLAG={'name':a58_0xf58dc8(0x1e8),'type':'string','description':'Opaque\x20nextCursor\x20returned\x20by\x20the\x20previous\x20list\x20call'},INPUT_FLAGS=[KIND_FLAG,CRON_FLAG,SCHEDULED_AT_FLAG,TITLE_FLAG,PROMPT_FLAG,MODEL_FLAG];function readScheduleInput(_0x12164f){const _0x420f66=a58_0xf58dc8,_0x4083ef=_0x12164f[_0x420f66(0x1c4)](_0x420f66(0x1fa)),_0x9403e=_0x12164f['str'](_0x420f66(0x1ec))[_0x420f66(0x1b2)](),_0x6f028f=_0x12164f[_0x420f66(0x1c4)](_0x420f66(0x1e6))[_0x420f66(0x1b2)](),_0x3fe5ee=_0x12164f[_0x420f66(0x1c4)]('model'),_0x2681a7=_0x12164f[_0x420f66(0x1c4)](_0x420f66(0x1bc)),_0x5f388a=_0x12164f['str'](_0x420f66(0x1ee));if(!_0x9403e)throw CliErrors[_0x420f66(0x1ca)](_0x420f66(0x1db));if(!_0x6f028f)throw CliErrors['validation'](_0x420f66(0x1f3));if(_0x4083ef===_0x420f66(0x1f0)){if(!_0x2681a7||_0x5f388a)throw CliErrors['validation'](_0x420f66(0x1d6));return{'kind':_0x4083ef,'timezone':_0x420f66(0x1bf),'cron':_0x2681a7,'title':_0x9403e,'prompt':_0x6f028f,'model':_0x3fe5ee};}if(_0x4083ef===_0x420f66(0x1d8)){if(!_0x5f388a||_0x2681a7)throw CliErrors[_0x420f66(0x1ca)](_0x420f66(0x1f5));return{'kind':_0x4083ef,'timezone':_0x420f66(0x1bf),'scheduledAt':_0x5f388a,'title':_0x9403e,'prompt':_0x6f028f,'model':_0x3fe5ee};}throw CliErrors[_0x420f66(0x1ca)](_0x420f66(0x1b1));}function scheduleCollectionPath(_0x515dd1){const _0xb4db3f=a58_0xf58dc8;return _0xb4db3f(0x1eb)+encodeURIComponent(_0x515dd1)+'/schedules';}function scheduleItemPath(_0x2a10e6,_0x4c42a2){return scheduleCollectionPath(_0x2a10e6)+'/'+encodeURIComponent(_0x4c42a2);}const scheduleValidate={'service':'schedule','command':a58_0xf58dc8(0x1e9),'description':a58_0xf58dc8(0x1d9),'risk':a58_0xf58dc8(0x1df),'flags':INPUT_FLAGS,async 'validate'(_0x1dc133){readScheduleInput(_0x1dc133);},async 'execute'(_0x36a582){const _0x505393=a58_0xf58dc8,_0x360a2c=readScheduleInput(_0x36a582),_0x2bfea8=await validateRuntimeSchedule(_0x36a582[_0x505393(0x1bb)],_0x360a2c);return{'ok':!![],'data':_0x2bfea8,'message':_0x505393(0x1f8)};}},scheduleCreate={'service':'schedule','command':a58_0xf58dc8(0x1ba),'description':a58_0xf58dc8(0x1ef),'risk':'high-risk-write','confirmationDescription':a58_0xf58dc8(0x1fb),'flags':INPUT_FLAGS,async 'validate'(_0x3eabc1){readScheduleInput(_0x3eabc1);},async 'execute'(_0x258bcc){const _0xf0c438=a58_0xf58dc8,_0xe1b12a=readScheduleInput(_0x258bcc),_0x5198c7=await validateRuntimeSchedule(_0x258bcc[_0xf0c438(0x1bb)],_0xe1b12a),_0x545d27=await createRuntimeSchedule(_0x258bcc[_0xf0c438(0x1bb)],_0x5198c7);return{'ok':!![],'data':_0x545d27,'message':_0xf0c438(0x1e7)+_0x545d27[_0xf0c438(0x1fa)]+'\x20schedule\x20'+_0x545d27[_0xf0c438(0x1e1)]};},async 'dryRun'(_0x2d2ece){const _0xecea40=a58_0xf58dc8,_0x296ed6=readScheduleInput(_0x2d2ece);return dryRun('POST',scheduleCollectionPath(_0x2d2ece[_0xecea40(0x1bb)]))[_0xecea40(0x1b0)](_0x296ed6)[_0xecea40(0x1dc)](_0xecea40(0x1c0))[_0xecea40(0x1b4)]();}},scheduleList={'service':a58_0xf58dc8(0x1d2),'command':a58_0xf58dc8(0x1ae),'description':a58_0xf58dc8(0x1ce),'risk':a58_0xf58dc8(0x1df),'flags':[KIND_FLAG,LIMIT_FLAG,CURSOR_FLAG],async 'validate'(_0x3463eb){const _0x38fd68=a58_0xf58dc8,_0x6988f=_0x3463eb[_0x38fd68(0x1d1)](_0x38fd68(0x1c9));if(!Number['isSafeInteger'](_0x6988f)||_0x6988f<0x1||_0x6988f>0x64)throw CliErrors['validation'](_0x38fd68(0x1e2));const _0x8f64cd=_0x3463eb[_0x38fd68(0x1c4)](_0x38fd68(0x1e8));if(_0x8f64cd&&(_0x8f64cd[_0x38fd68(0x1d4)]>0x400||_0x8f64cd[_0x38fd68(0x1b2)]()!==_0x8f64cd))throw CliErrors[_0x38fd68(0x1ca)](_0x38fd68(0x1c8));},async 'execute'(_0x4f4501){const _0x5ae9ef=a58_0xf58dc8,_0x3d6abf=_0x4f4501['str']('cursor'),_0x280ad6=await listRuntimeSchedules(_0x4f4501[_0x5ae9ef(0x1bb)],{'kind':_0x4f4501[_0x5ae9ef(0x1c4)](_0x5ae9ef(0x1fa)),'limit':_0x4f4501['num'](_0x5ae9ef(0x1c9)),..._0x3d6abf?{'cursor':_0x3d6abf}:{}});return{'ok':!![],'data':_0x280ad6};}},scheduleDetail={'service':a58_0xf58dc8(0x1d2),'command':a58_0xf58dc8(0x1ed),'description':'Show\x20one\x20schedule\x20by\x20schedule\x20ID','risk':a58_0xf58dc8(0x1df),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x83fe29){const _0x526dc1=a58_0xf58dc8,_0x53d701=await getRuntimeSchedule(_0x83fe29['appCode'],_0x83fe29[_0x526dc1(0x1c4)](_0x526dc1(0x1cc)));return{'ok':!![],'data':_0x53d701};}},scheduleRun={'service':a58_0xf58dc8(0x1d2),'command':a58_0xf58dc8(0x1f4),'description':a58_0xf58dc8(0x1bd),'risk':a58_0xf58dc8(0x1f9),'confirmationDescription':'Ignores\x20the\x20original\x20trigger\x20time,\x20runs\x20the\x20schedule\x20once\x20now,\x20and\x20creates\x20a\x20new\x20Agent\x20Task.','flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x3ee2a4){const _0x27c461=a58_0xf58dc8,_0x1ef2a3=_0x3ee2a4[_0x27c461(0x1c4)](_0x27c461(0x1cc)),_0x1c0c17=await runRuntimeSchedule(_0x3ee2a4[_0x27c461(0x1bb)],_0x1ef2a3);return{'ok':!![],'data':_0x1c0c17,'message':_0x27c461(0x1c6)+_0x1c0c17[_0x27c461(0x1cd)]+_0x27c461(0x1b8)+_0x1ef2a3};},async 'dryRun'(_0xb89ba2){const _0x332a70=a58_0xf58dc8,_0x4262a2=_0xb89ba2[_0x332a70(0x1c4)](_0x332a70(0x1cc));return dryRun('POST',scheduleItemPath(_0xb89ba2[_0x332a70(0x1bb)],_0x4262a2)+_0x332a70(0x1e0))[_0x332a70(0x1dc)](_0x332a70(0x1cb)+_0x4262a2+'\x20immediately')[_0x332a70(0x1b4)]();}},scheduleDelete={'service':a58_0xf58dc8(0x1d2),'command':a58_0xf58dc8(0x1e5),'description':a58_0xf58dc8(0x1d7),'risk':a58_0xf58dc8(0x1f9),'confirmationDescription':a58_0xf58dc8(0x1be),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x278372){const _0x522641=a58_0xf58dc8,_0x316e95=_0x278372[_0x522641(0x1c4)](_0x522641(0x1cc)),_0x532dbd=await deleteRuntimeSchedule(_0x278372['appCode'],_0x316e95);return{'ok':!![],'data':_0x532dbd,'message':_0x522641(0x1af)+_0x316e95};},async 'dryRun'(_0x55fad2){const _0x4fb841=a58_0xf58dc8,_0x1c36c5=_0x55fad2[_0x4fb841(0x1c4)](_0x4fb841(0x1cc));return dryRun(_0x4fb841(0x1dd),scheduleItemPath(_0x55fad2[_0x4fb841(0x1bb)],_0x1c36c5))[_0x4fb841(0x1dc)](_0x4fb841(0x1cf)+_0x1c36c5)[_0x4fb841(0x1b4)]();}};function a58_0x5a57(_0xfd8485,_0x40a45b){_0xfd8485=_0xfd8485-0x1ae;const _0xd195b1=a58_0xd195();let _0x5a5799=_0xd195b1[_0xfd8485];return _0x5a5799;}export const scheduleDefinitions=[scheduleValidate,scheduleCreate,scheduleList,scheduleDetail,scheduleRun,scheduleDelete];
|
package/lib/commands/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a59_0x348bbb=a59_0x3702;(function(_0x3d8ec1,_0x32ff73){const _0x3bb852=a59_0x3702,_0xd8c961=_0x3d8ec1();while(!![]){try{const _0x5553e0=-parseInt(_0x3bb852(0x185))/0x1+parseInt(_0x3bb852(0x17e))/0x2+parseInt(_0x3bb852(0x181))/0x3*(-parseInt(_0x3bb852(0x17a))/0x4)+-parseInt(_0x3bb852(0x17d))/0x5*(-parseInt(_0x3bb852(0x179))/0x6)+-parseInt(_0x3bb852(0x182))/0x7*(-parseInt(_0x3bb852(0x17f))/0x8)+-parseInt(_0x3bb852(0x186))/0x9+-parseInt(_0x3bb852(0x180))/0xa*(-parseInt(_0x3bb852(0x183))/0xb);if(_0x5553e0===_0x32ff73)break;else _0xd8c961['push'](_0xd8c961['shift']());}catch(_0x4e9c66){_0xd8c961['push'](_0xd8c961['shift']());}}}(a59_0x139c,0xdb120));function a59_0x3702(_0x24204c,_0xb27a2d){_0x24204c=_0x24204c-0x179;const _0x139c58=a59_0x139c();let _0x3702bd=_0x139c58[_0x24204c];return _0x3702bd;}import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x457d3d){const _0x15acc1=await buildSchemaPayload();return{'ok':!![],'data':_0x15acc1};}function a59_0x139c(){const _0x1f54c7=['12095100SfQiHq','4602LhJqgX','1724RZKzRE','export','read','4955sDQXXE','3444746wAxpvl','8NDZEgG','10mKrrQZ','10365GEHroA','567427pRNgeY','18911167jgWqXz','schema','552411rHmGdI'];a59_0x139c=function(){return _0x1f54c7;};return a59_0x139c();}export const schemaDefinition={'service':a59_0x348bbb(0x184),'command':a59_0x348bbb(0x17b),'description':'Export\x20machine-readable\x20command\x20schema\x20(JSON)','risk':a59_0x348bbb(0x17c),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x18d280,_0x193775){const _0x2efb62=a60_0x5660,_0x1d6536=_0x18d280();while(!![]){try{const _0x316d0e=-parseInt(_0x2efb62(0x1a1))/0x1*(parseInt(_0x2efb62(0x192))/0x2)+-parseInt(_0x2efb62(0x16a))/0x3+parseInt(_0x2efb62(0x1b0))/0x4*(-parseInt(_0x2efb62(0x1b9))/0x5)+parseInt(_0x2efb62(0x187))/0x6*(-parseInt(_0x2efb62(0x1bb))/0x7)+-parseInt(_0x2efb62(0x1b6))/0x8+parseInt(_0x2efb62(0x166))/0x9+parseInt(_0x2efb62(0x163))/0xa;if(_0x316d0e===_0x193775)break;else _0x1d6536['push'](_0x1d6536['shift']());}catch(_0x445181){_0x1d6536['push'](_0x1d6536['shift']());}}}(a60_0x1f8d,0xd86e7));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(_0x19d3e3,_0x755b43){const _0x4f8fd7=a60_0x5660,_0x156a20=listLocalServiceTrees();let _0x2a506c;for(const _0x25faa8 of _0x156a20){const _0x32e3dd=matchServiceTreeCommand(_0x25faa8,_0x19d3e3);if(!_0x32e3dd)continue;(!_0x2a506c||_0x32e3dd[_0x4f8fd7(0x19d)][_0x4f8fd7(0x1b1)]['length']>_0x2a506c['command'][_0x4f8fd7(0x1b1)][_0x4f8fd7(0x188)])&&(_0x2a506c={'tree':_0x25faa8,'command':_0x32e3dd[_0x4f8fd7(0x19d)],'remainingArgs':_0x32e3dd['remainingArgs']});}if(!_0x2a506c)return undefined;const _0x508844={..._0x755b43};return applyAppBinding(_0x2a506c[_0x4f8fd7(0x165)],_0x2a506c[_0x4f8fd7(0x19d)],_0x508844),{'definition':buildDynamicCommandDefinition(_0x2a506c[_0x4f8fd7(0x165)],_0x2a506c[_0x4f8fd7(0x19d)]),'args':_0x2a506c[_0x4f8fd7(0x199)],'flags':_0x508844,'tree':_0x2a506c[_0x4f8fd7(0x165)],'command':_0x2a506c['command']};}function a60_0x5660(_0x4bb1d5,_0x575a22){_0x4bb1d5=_0x4bb1d5-0x156;const _0x1f8de5=a60_0x1f8d();let _0x5660f7=_0x1f8de5[_0x4bb1d5];return _0x5660f7;}export function generateDynamicServiceHelp(_0x2b285f){const _0x52e449=a60_0x5660,_0x2417db=listLocalServiceTrees()[_0x52e449(0x16b)](_0x47cec6=>_0x47cec6[_0x52e449(0x17d)][_0x52e449(0x18f)]===_0x2b285f);if(!_0x2417db)return undefined;const _0x4f978d=[CLI_BIN_NAME+'\x20'+_0x2b285f+_0x52e449(0x19f),'',_0x2417db[_0x52e449(0x17d)][_0x52e449(0x15e)]||_0x2b285f,_0x2417db['service'][_0x52e449(0x198)]?'\x20\x20'+_0x2417db[_0x52e449(0x17d)]['description']:'','',_0x52e449(0x17b),..._0x2417db[_0x52e449(0x18b)][_0x52e449(0x1b2)](_0x1a453d=>{const _0x523ed8=_0x52e449,_0x233410=_0x1a453d[_0x523ed8(0x1b1)][_0x523ed8(0x16e)](0x1)['join']('\x20'),_0x35c3d4=_0x1a453d[_0x523ed8(0x19c)]===_0x523ed8(0x1ae)?'':'\x20['+_0x1a453d['risk']+']';return'\x20\x20'+_0x233410[_0x523ed8(0x175)](0x18)+'\x20'+(_0x1a453d['description']||'')+_0x35c3d4;}),'',_0x52e449(0x1bc)+CLI_BIN_NAME+_0x52e449(0x162)+_0x2b285f+_0x52e449(0x196)][_0x52e449(0x177)](Boolean);return _0x4f978d[_0x52e449(0x1a7)]('\x0a');}export function listDynamicServiceEntries(){const _0x46a4fd=a60_0x5660;return listLocalServices()[_0x46a4fd(0x1b2)](_0x11b3c7=>{const _0x43bb11=_0x46a4fd,_0x3dea64=_0x11b3c7[_0x43bb11(0x18d)];return{'service':_0x3dea64['service'][_0x43bb11(0x18f)],'label':_0x3dea64['service'][_0x43bb11(0x15e)]||_0x3dea64[_0x43bb11(0x17d)][_0x43bb11(0x18f)],'commands':_0x3dea64[_0x43bb11(0x18b)][_0x43bb11(0x1b2)](_0x343f73=>({'command':dynamicCommandName(_0x343f73),'description':_0x343f73['description']||'Run\x20service\x20command\x20'+_0x343f73['cliPath'],'tag':riskTag(_0x343f73[_0x43bb11(0x19c)])}))};});}export function getDynamicServiceEntry(_0x24024e){const _0x1b6243=a60_0x5660;return listDynamicServiceEntries()[_0x1b6243(0x16b)](_0x52ad17=>_0x52ad17[_0x1b6243(0x17d)]===_0x24024e);}export function listDynamicServiceDefinitions(_0x43ebfa){const _0x5ee433=a60_0x5660;return listLocalServiceTrees()[_0x5ee433(0x177)](_0xb62fbc=>!_0x43ebfa||_0xb62fbc[_0x5ee433(0x17d)][_0x5ee433(0x18f)]===_0x43ebfa)['flatMap'](_0x2d57c8=>_0x2d57c8[_0x5ee433(0x18b)][_0x5ee433(0x1b2)](_0x58d0e8=>buildDynamicCommandDefinition(_0x2d57c8,_0x58d0e8)));}export function getDynamicServiceDefinitions(_0x3a10bd){const _0x531ce8=a60_0x5660,_0x444da1=listDynamicServiceDefinitions(_0x3a10bd);return _0x444da1[_0x531ce8(0x188)]>0x0?_0x444da1:undefined;}export function findDynamicServiceDefinition(_0x4e56f8,_0x3e2b81){const _0x19f138=a60_0x5660;return listDynamicServiceDefinitions(_0x4e56f8)['find'](_0x1e464d=>_0x1e464d[_0x19f138(0x19d)]===_0x3e2b81);}export function buildDynamicCommandDefinition(_0x139df6,_0x558b34){const _0x2320e1=a60_0x5660;return{'service':_0x139df6[_0x2320e1(0x17d)][_0x2320e1(0x18f)],'command':dynamicCommandName(_0x558b34),'description':_0x558b34['description']||_0x2320e1(0x1ac)+_0x558b34[_0x2320e1(0x1a3)],'risk':_0x558b34[_0x2320e1(0x19c)],..._0x558b34[_0x2320e1(0x19c)]===_0x2320e1(0x1ae)?{}:{'confirmationDescription':buildDynamicConfirmationDescription(_0x558b34)},'requiresAuth':!![],'requiresAppCode':!![],'args':_0x558b34[_0x2320e1(0x167)]['map'](_0x8de025=>({'name':_0x8de025[_0x2320e1(0x15e)],'description':_0x8de025[_0x2320e1(0x198)]||_0x8de025[_0x2320e1(0x15e)],'required':_0x8de025[_0x2320e1(0x1a2)]})),'flags':_0x558b34[_0x2320e1(0x171)]['map'](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x558b34),async 'dryRun'(_0x4269e7){const _0x19054e=_0x2320e1,_0xc2e7d4=await compilePlan(_0x558b34,_0x4269e7);return{'method':_0x19054e(0x157),'url':_0x558b34[_0x19054e(0x1a3)],'body':{'target':targetPreview(_0xc2e7d4),'params':_0xc2e7d4['params']},'description':_0x19054e(0x1bd)+_0x558b34[_0x19054e(0x1a3)]};},async 'execute'(_0x257d5c){const _0x3b8a8e=_0x2320e1,_0x9af2cc=await compilePlan(_0x558b34,_0x257d5c),_0xa00622=Date['now'](),_0x1e8a4e=await executePlan(_0x9af2cc,_0x558b34,_0x257d5c),_0x4f6085=Date['now']()-_0xa00622;return{'ok':!![],'data':{'service':_0x139df6['service'],'command':_0x558b34[_0x3b8a8e(0x1a3)],'target':targetPreview(_0x9af2cc),'result':_0x1e8a4e,'elapsed':_0x4f6085},'message':_0x3b8a8e(0x17f)+_0x558b34['cliPath']+_0x3b8a8e(0x176)+_0x4f6085+'ms'};}};}function buildDynamicConfirmationDescription(_0x45474c){const _0x2537f9=a60_0x5660,_0x800f31=_0x45474c['description']||_0x45474c[_0x2537f9(0x1a3)],_0x336652=_0x45474c[_0x2537f9(0x19c)]==='high-risk-write'?_0x2537f9(0x17c):_0x2537f9(0x15b);return _0x2537f9(0x1a0)+_0x800f31+_0x2537f9(0x1b3)+_0x336652;}function dynamicCommandName(_0x49c130){const _0x50725c=a60_0x5660;return _0x49c130['fullPath'][_0x50725c(0x16e)](0x1)['join']('\x20');}function a60_0x1f8d(){const _0x50796a=['params','\x22\x20in\x20service\x20command\x20','appBindings','The\x20manifest\x20marks\x20this\x20command\x20as\x20a\x20write.\x20It\x20may\x20change\x20business\x20data\x20or\x20service\x20state.','tableName','datatable','name','\x20\x20MAP\x20TO','\x20\x20\x20\x20functionName:\x20','startsWith','\x20service\x20detail\x20--service\x20','22581890hlMMWh','fromEntries','tree','10016127gjWVih','args','bffCode','default','3515898zUlUVU','find','push','\x20requires\x20target.sqlCode.','slice','employeeId','nickName','flags','type','number','kind','padEnd','\x20completed\x20in\x20','filter','\x20\x20\x20\x20sqlCode:\x20','scriptName','dbtableConfig','Commands:','The\x20manifest\x20marks\x20this\x20command\x20as\x20a\x20high-risk\x20write.\x20It\x20may\x20make\x20business\x20changes\x20that\x20are\x20hard\x20to\x20reverse.','service','boolean','Service\x20command\x20','env','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','rawFlags','userName','appcode','loginName','tenantCode','204xLCuOE','length','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','username','commands','bff','normalizedManifest','\x20\x20SERVICE\x20TREE\x20TARGET','code','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','\x20\x20\x20\x20datatable:\x20','9862qqNAUM','string','entries','operator','`\x20to\x20inspect\x20the\x20manifest.','appCode','description','remainingArgs','source','target','risk','command','bffId','\x20<command>\x20[flags]','This\x20will\x20run\x20Service\x20Tree\x20command\x20\x22','23npLmrt','required','cliPath','validation','sqlCode','\x20\x20[','join','Unknown\x20appRef\x20\x22','appRef','datasetCode','cliName','Run\x20service\x20command\x20','\x20requires\x20target.functionName.','read','json','4fwVvXg','fullPath','map','\x22.\x20','mapTo','\x20\x20\x20\x20kind:\x20\x20\x20\x20','5809584xGiMXz','trim','app','1306640EVMkpP','envName','43582QgzqMg','Use\x20`','Preview\x20dynamic\x20service\x20command:\x20','const','SERVICE_TREE'];a60_0x1f8d=function(){return _0x50796a;};return a60_0x1f8d();}function riskTag(_0x280795){const _0x30015c=a60_0x5660;return _0x280795==='read'?'':_0x30015c(0x1a6)+_0x280795+']';}function flagToCommandFlag(_0x30a089){const _0x479cb6=a60_0x5660;return{'name':_0x30a089[_0x479cb6(0x1ab)],'type':_0x30a089['type']===_0x479cb6(0x1af)?'string':_0x30a089[_0x479cb6(0x172)],'description':_0x30a089[_0x479cb6(0x198)]||_0x30a089[_0x479cb6(0x15e)],'required':_0x30a089[_0x479cb6(0x1a2)],'default':isPrimitiveFlagDefault(_0x30a089[_0x479cb6(0x169)])?_0x30a089[_0x479cb6(0x169)]:undefined,'enum':_0x30a089['enum']};}async function compilePlan(_0x1c2f07,_0x1a39a0){const _0x522b15=a60_0x5660;return compileServiceTreeCommand(_0x1c2f07,{'flags':_0x1a39a0[_0x522b15(0x182)],'args':_0x1a39a0[_0x522b15(0x167)],'context':await buildServiceContext(_0x1c2f07,_0x1a39a0)});}async function buildServiceContext(_0x117d85,_0x37f5d5){const _0x4cc0e2=a60_0x5660,_0x3508eb={'appCode':_0x37f5d5['appCode'],'env':_0x37f5d5['envName'],'envName':_0x37f5d5[_0x4cc0e2(0x1ba)]};if(!usesRuntimeContext(_0x117d85))return _0x3508eb;const _0x1ea74e=await getLoginUserInfo(),_0x17b9c8=pickFirst(_0x1ea74e['userId'],_0x1ea74e['id']);return{..._0x3508eb,'user':_0x1ea74e,'userId':_0x17b9c8,'id':_0x1ea74e['id'],'username':pickFirst(_0x1ea74e[_0x4cc0e2(0x18a)],_0x1ea74e[_0x4cc0e2(0x183)],_0x1ea74e[_0x4cc0e2(0x185)]),'userName':_0x1ea74e[_0x4cc0e2(0x183)],'nickname':pickFirst(_0x1ea74e['nickname'],_0x1ea74e[_0x4cc0e2(0x170)]),'nickName':_0x1ea74e['nickName'],'tenantCode':_0x1ea74e[_0x4cc0e2(0x186)],'employeeId':_0x1ea74e[_0x4cc0e2(0x16f)]};}function usesRuntimeContext(_0xacf743){const _0x16f8b9=a60_0x5660;return _0xacf743['mapTo']['some'](_0x45cbfe=>typeof _0x45cbfe[_0x16f8b9(0x19a)]==='string'&&(_0x45cbfe[_0x16f8b9(0x19a)][_0x16f8b9(0x161)]('context.')||_0x45cbfe[_0x16f8b9(0x19a)][_0x16f8b9(0x161)]('ctx.')));}function pickFirst(..._0x3d067b){const _0x51667f=a60_0x5660;return _0x3d067b[_0x51667f(0x16b)](_0x4c3be4=>_0x4c3be4!==undefined&&_0x4c3be4!==null);}async function executePlan(_0x4cb318,_0x15ee7c,_0x340976){const _0xf8ba55=a60_0x5660;if(_0x4cb318[_0xf8ba55(0x174)]==='data'){const _0x344b45=await resolveDatasetCode(_0x4cb318,_0x15ee7c,_0x340976);return executeData(_0x344b45,_0x4cb318[_0xf8ba55(0x19d)],_0x4cb318[_0xf8ba55(0x158)]);}if(_0x4cb318['kind']==='sql'){if(!_0x4cb318[_0xf8ba55(0x1a5)])throw CliErrors[_0xf8ba55(0x1a4)]('Service\x20command\x20'+_0x15ee7c[_0xf8ba55(0x1a3)]+_0xf8ba55(0x16d));return executeSdkSql(_0x4cb318[_0xf8ba55(0x1a5)],normalizeScalarParams(_0x4cb318[_0xf8ba55(0x158)]));}if(_0x4cb318[_0xf8ba55(0x174)]===_0xf8ba55(0x18c)){const _0x57eb42=_0x4cb318[_0xf8ba55(0x179)]||_0x4cb318['bffCode']||(_0x4cb318['bffId']==null?'':String(_0x4cb318[_0xf8ba55(0x19e)]));if(!_0x57eb42)throw CliErrors[_0xf8ba55(0x1a4)](_0xf8ba55(0x17f)+_0x15ee7c['cliPath']+_0xf8ba55(0x1ad));return executeSdkBff(_0x57eb42,_0x4cb318[_0xf8ba55(0x158)]);}throw CliErrors['validation']('Unsupported\x20service\x20target\x20kind:\x20'+_0x4cb318['kind']);}async function resolveDatasetCode(_0x154c54,_0x26f0e6,_0x10efc0){const _0x462a81=a60_0x5660;if(_0x154c54[_0x462a81(0x1aa)])return _0x154c54[_0x462a81(0x1aa)];if(!_0x154c54[_0x462a81(0x15d)])throw CliErrors['validation']('Service\x20command\x20'+_0x26f0e6[_0x462a81(0x1a3)]+_0x462a81(0x181));const _0x20042c=await listDatasets(_0x10efc0['appCode']),_0x38abb1=_0x20042c[_0x462a81(0x16b)](_0xe20887=>_0xe20887[_0x462a81(0x17a)]?.[_0x462a81(0x15c)]===_0x154c54[_0x462a81(0x15d)]);if(!_0x38abb1?.[_0x462a81(0x18f)])throw CliErrors[_0x462a81(0x1a4)]('Cannot\x20resolve\x20datatable\x20\x22'+_0x154c54['datatable']+_0x462a81(0x190)+_0x10efc0[_0x462a81(0x197)]+'.','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.');return _0x38abb1[_0x462a81(0x18f)];}function applyAppBinding(_0x562d1b,_0x395549,_0x2b74fb){const _0x21f299=a60_0x5660,_0x1c9891=_0x395549[_0x21f299(0x19b)]['appRef'];if(!_0x1c9891)return;const _0x3e0b5d=_0x562d1b[_0x21f299(0x15a)][_0x1c9891];if(!_0x3e0b5d)throw CliErrors['validation'](_0x21f299(0x1a8)+_0x1c9891+_0x21f299(0x159)+_0x395549['cliPath']+'.',_0x21f299(0x189));const _0x5332c5=_0x3e0b5d[_0x21f299(0x184)]||_0x3e0b5d[_0x21f299(0x197)];_0x5332c5&&!hasText(_0x2b74fb[_0x21f299(0x184)])&&(_0x2b74fb[_0x21f299(0x184)]=_0x5332c5),_0x3e0b5d[_0x21f299(0x1b8)]&&!hasText(_0x2b74fb[_0x21f299(0x1b8)])&&!hasText(_0x2b74fb[_0x21f299(0x184)])&&(_0x2b74fb[_0x21f299(0x1b8)]=_0x3e0b5d[_0x21f299(0x1b8)]),_0x3e0b5d[_0x21f299(0x180)]&&!hasText(_0x2b74fb['env'])&&(_0x2b74fb['env']=_0x3e0b5d[_0x21f299(0x180)]);}function renderDynamicCommandHelp(_0xe3c2d9){const _0x549174=a60_0x5660,_0x391d44=[_0x549174(0x18e),_0x549174(0x1b5)+_0xe3c2d9[_0x549174(0x19b)]['kind'],'\x20\x20\x20\x20command:\x20'+_0xe3c2d9[_0x549174(0x19b)][_0x549174(0x19d)]];if(_0xe3c2d9['target'][_0x549174(0x1aa)])_0x391d44['push']('\x20\x20\x20\x20datasetCode:\x20'+_0xe3c2d9[_0x549174(0x19b)][_0x549174(0x1aa)]);if(_0xe3c2d9['target']['datatable'])_0x391d44[_0x549174(0x16c)](_0x549174(0x191)+_0xe3c2d9[_0x549174(0x19b)][_0x549174(0x15d)]);if(_0xe3c2d9[_0x549174(0x19b)][_0x549174(0x1a5)])_0x391d44[_0x549174(0x16c)](_0x549174(0x178)+_0xe3c2d9[_0x549174(0x19b)][_0x549174(0x1a5)]);if(_0xe3c2d9[_0x549174(0x19b)][_0x549174(0x179)])_0x391d44[_0x549174(0x16c)](_0x549174(0x160)+_0xe3c2d9[_0x549174(0x19b)][_0x549174(0x179)]);if(_0xe3c2d9[_0x549174(0x1b4)][_0x549174(0x188)]>0x0){_0x391d44[_0x549174(0x16c)]('',_0x549174(0x15f));for(const _0x3bf970 of _0xe3c2d9[_0x549174(0x1b4)]){_0x391d44[_0x549174(0x16c)]('\x20\x20\x20\x20'+(_0x3bf970[_0x549174(0x19a)]||_0x549174(0x156))+'\x20->\x20'+_0x3bf970[_0x549174(0x19b)]+(_0x3bf970[_0x549174(0x195)]?'.'+_0x3bf970[_0x549174(0x195)]:''));}}return _0x391d44[_0x549174(0x1a7)]('\x0a');}function targetPreview(_0x684f2f){const _0x27c55a=a60_0x5660;return{'kind':_0x684f2f['kind'],'command':_0x684f2f[_0x27c55a(0x19d)],'appRef':_0x684f2f[_0x27c55a(0x1a9)],'datasetCode':_0x684f2f[_0x27c55a(0x1aa)],'datatable':_0x684f2f[_0x27c55a(0x15d)],'sqlCode':_0x684f2f[_0x27c55a(0x1a5)],'bffCode':_0x684f2f[_0x27c55a(0x168)],'bffId':_0x684f2f[_0x27c55a(0x19e)],'functionName':_0x684f2f[_0x27c55a(0x179)]};}function normalizeScalarParams(_0x285e0e){const _0x577e0d=a60_0x5660;return Object[_0x577e0d(0x164)](Object[_0x577e0d(0x194)](_0x285e0e)[_0x577e0d(0x177)](([,_0x4371b5])=>typeof _0x4371b5===_0x577e0d(0x193)||typeof _0x4371b5===_0x577e0d(0x173)));}function hasText(_0x1c9876){const _0xa17b36=a60_0x5660;return typeof _0x1c9876===_0xa17b36(0x193)&&_0x1c9876[_0xa17b36(0x1b7)]()[_0xa17b36(0x188)]>0x0;}function isPrimitiveFlagDefault(_0x47758a){const _0x5d01e3=a60_0x5660;return _0x47758a===undefined||typeof _0x47758a===_0x5d01e3(0x193)||typeof _0x47758a===_0x5d01e3(0x173)||typeof _0x47758a===_0x5d01e3(0x17e);}
|
|
1
|
+
(function(_0x58f663,_0x29a7c1){const _0x409d74=a60_0xb3d3,_0x269d37=_0x58f663();while(!![]){try{const _0x2d08c9=-parseInt(_0x409d74(0xb9))/0x1*(-parseInt(_0x409d74(0xf4))/0x2)+-parseInt(_0x409d74(0xf7))/0x3*(parseInt(_0x409d74(0x108))/0x4)+-parseInt(_0x409d74(0xf6))/0x5+-parseInt(_0x409d74(0xc0))/0x6+parseInt(_0x409d74(0xff))/0x7*(-parseInt(_0x409d74(0xb6))/0x8)+-parseInt(_0x409d74(0xf8))/0x9*(parseInt(_0x409d74(0xd7))/0xa)+parseInt(_0x409d74(0xb5))/0xb;if(_0x2d08c9===_0x29a7c1)break;else _0x269d37['push'](_0x269d37['shift']());}catch(_0x3ab1f1){_0x269d37['push'](_0x269d37['shift']());}}}(a60_0xf812,0x494f5));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(_0x540f9b,_0x1347f8){const _0xb2040a=a60_0xb3d3,_0x4f1a78=listLocalServiceTrees();let _0x2c7c69;for(const _0x4db2b6 of _0x4f1a78){const _0x162e0b=matchServiceTreeCommand(_0x4db2b6,_0x540f9b);if(!_0x162e0b)continue;(!_0x2c7c69||_0x162e0b[_0xb2040a(0xdf)][_0xb2040a(0xce)][_0xb2040a(0x10a)]>_0x2c7c69['command'][_0xb2040a(0xce)][_0xb2040a(0x10a)])&&(_0x2c7c69={'tree':_0x4db2b6,'command':_0x162e0b[_0xb2040a(0xdf)],'remainingArgs':_0x162e0b[_0xb2040a(0xc2)]});}if(!_0x2c7c69)return undefined;const _0xfa770c={..._0x1347f8};return applyAppBinding(_0x2c7c69[_0xb2040a(0xd4)],_0x2c7c69[_0xb2040a(0xdf)],_0xfa770c),{'definition':buildDynamicCommandDefinition(_0x2c7c69[_0xb2040a(0xd4)],_0x2c7c69[_0xb2040a(0xdf)]),'args':_0x2c7c69[_0xb2040a(0xc2)],'flags':_0xfa770c,'tree':_0x2c7c69[_0xb2040a(0xd4)],'command':_0x2c7c69[_0xb2040a(0xdf)]};}export function generateDynamicServiceHelp(_0x3abeb8){const _0x1304ca=a60_0xb3d3,_0x1d1679=listLocalServiceTrees()[_0x1304ca(0xbf)](_0x516a34=>_0x516a34['service'][_0x1304ca(0xf9)]===_0x3abeb8);if(!_0x1d1679)return undefined;const _0x2e8c7a=[CLI_BIN_NAME+'\x20'+_0x3abeb8+_0x1304ca(0x113),'',_0x1d1679['service'][_0x1304ca(0xf0)]||_0x3abeb8,_0x1d1679[_0x1304ca(0xfd)][_0x1304ca(0xcd)]?'\x20\x20'+_0x1d1679['service'][_0x1304ca(0xcd)]:'','',_0x1304ca(0x116),..._0x1d1679['commands'][_0x1304ca(0x10f)](_0x3adfcc=>{const _0x39865=_0x1304ca,_0x4ce2a6=_0x3adfcc['fullPath'][_0x39865(0xe5)](0x1)['join']('\x20'),_0x2be5b8=_0x3adfcc[_0x39865(0x106)]===_0x39865(0xd6)?'':'\x20['+_0x3adfcc[_0x39865(0x106)]+']';return'\x20\x20'+_0x4ce2a6[_0x39865(0xb7)](0x18)+'\x20'+(_0x3adfcc['description']||'')+_0x2be5b8;}),'',_0x1304ca(0x100)+CLI_BIN_NAME+_0x1304ca(0xef)+_0x3abeb8+_0x1304ca(0xc8)][_0x1304ca(0x10e)](Boolean);return _0x2e8c7a[_0x1304ca(0xde)]('\x0a');}export function listDynamicServiceEntries(){const _0x1325c8=a60_0xb3d3;return listLocalServices()[_0x1325c8(0x10f)](_0x3c1cac=>{const _0xe01089=_0x1325c8,_0x275621=_0x3c1cac[_0xe01089(0xca)];return{'service':_0x275621[_0xe01089(0xfd)]['code'],'label':_0x275621[_0xe01089(0xfd)][_0xe01089(0xf0)]||_0x275621[_0xe01089(0xfd)][_0xe01089(0xf9)],'commands':_0x275621['commands'][_0xe01089(0x10f)](_0x5af959=>({'command':dynamicCommandName(_0x5af959),'description':_0x5af959[_0xe01089(0xcd)]||_0xe01089(0xee)+_0x5af959[_0xe01089(0x119)],'tag':riskTag(_0x5af959[_0xe01089(0x106)])}))};});}export function getDynamicServiceEntry(_0x2c8da2){return listDynamicServiceEntries()['find'](_0x595000=>_0x595000['service']===_0x2c8da2);}export function listDynamicServiceDefinitions(_0x4eacce){const _0x2bdded=a60_0xb3d3;return listLocalServiceTrees()[_0x2bdded(0x10e)](_0x480ccb=>!_0x4eacce||_0x480ccb[_0x2bdded(0xfd)][_0x2bdded(0xf9)]===_0x4eacce)[_0x2bdded(0xbd)](_0x58e73b=>_0x58e73b['commands'][_0x2bdded(0x10f)](_0x500d29=>buildDynamicCommandDefinition(_0x58e73b,_0x500d29)));}export function getDynamicServiceDefinitions(_0x40c12d){const _0x39865e=listDynamicServiceDefinitions(_0x40c12d);return _0x39865e['length']>0x0?_0x39865e:undefined;}export function findDynamicServiceDefinition(_0x101260,_0x9b8025){const _0x5208de=a60_0xb3d3;return listDynamicServiceDefinitions(_0x101260)[_0x5208de(0xbf)](_0x1c31a2=>_0x1c31a2[_0x5208de(0xdf)]===_0x9b8025);}export function buildDynamicCommandDefinition(_0x2e4b36,_0x1c8474){const _0x315dd7=a60_0xb3d3;return{'service':_0x2e4b36[_0x315dd7(0xfd)][_0x315dd7(0xf9)],'command':dynamicCommandName(_0x1c8474),'description':_0x1c8474[_0x315dd7(0xcd)]||'Run\x20service\x20command\x20'+_0x1c8474[_0x315dd7(0x119)],'risk':_0x1c8474[_0x315dd7(0x106)],..._0x1c8474[_0x315dd7(0x106)]===_0x315dd7(0xd6)?{}:{'confirmationDescription':buildDynamicConfirmationDescription(_0x1c8474)},'requiresAuth':!![],'requiresAppCode':!![],'args':_0x1c8474[_0x315dd7(0xcf)][_0x315dd7(0x10f)](_0x66a72=>({'name':_0x66a72[_0x315dd7(0xf0)],'description':_0x66a72[_0x315dd7(0xcd)]||_0x66a72[_0x315dd7(0xf0)],'required':_0x66a72[_0x315dd7(0xba)]})),'flags':_0x1c8474['flags'][_0x315dd7(0x10f)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x1c8474),async 'dryRun'(_0x349e11){const _0x5b52ec=_0x315dd7,_0x357cfe=await compilePlan(_0x1c8474,_0x349e11);return{'method':_0x5b52ec(0xbc),'url':_0x1c8474[_0x5b52ec(0x119)],'body':{'target':targetPreview(_0x357cfe),'params':_0x357cfe[_0x5b52ec(0xcb)]},'description':_0x5b52ec(0x103)+_0x1c8474[_0x5b52ec(0x119)]};},async 'execute'(_0x127869){const _0x3f405b=_0x315dd7,_0x17c3b0=await compilePlan(_0x1c8474,_0x127869),_0x5c7745=Date[_0x3f405b(0xc9)](),_0x57c38e=await executePlan(_0x17c3b0,_0x1c8474,_0x127869),_0xd54de5=Date[_0x3f405b(0xc9)]()-_0x5c7745;return{'ok':!![],'data':{'service':_0x2e4b36[_0x3f405b(0xfd)],'command':_0x1c8474[_0x3f405b(0x119)],'target':targetPreview(_0x17c3b0),'result':_0x57c38e,'elapsed':_0xd54de5},'message':_0x3f405b(0xed)+_0x1c8474[_0x3f405b(0x119)]+'\x20completed\x20in\x20'+_0xd54de5+'ms'};}};}function a60_0xb3d3(_0x291b98,_0x1d7fe5){_0x291b98=_0x291b98-0xb2;const _0xf812ab=a60_0xf812();let _0xb3d345=_0xf812ab[_0x291b98];return _0xb3d345;}function buildDynamicConfirmationDescription(_0x26e325){const _0x3a99dc=a60_0xb3d3,_0x28aa4b=_0x26e325[_0x3a99dc(0xcd)]||_0x26e325['cliPath'],_0xbc02f=_0x26e325[_0x3a99dc(0x106)]===_0x3a99dc(0xe6)?'The\x20manifest\x20marks\x20this\x20command\x20as\x20a\x20high-risk\x20write.\x20It\x20may\x20make\x20business\x20changes\x20that\x20are\x20hard\x20to\x20reverse.':_0x3a99dc(0x109);return _0x3a99dc(0xc6)+_0x28aa4b+_0x3a99dc(0xe2)+_0xbc02f;}function dynamicCommandName(_0x462085){const _0x2b6cb8=a60_0xb3d3;return _0x462085[_0x2b6cb8(0xce)][_0x2b6cb8(0xe5)](0x1)[_0x2b6cb8(0xde)]('\x20');}function riskTag(_0x3e400a){return _0x3e400a==='read'?'':'\x20\x20['+_0x3e400a+']';}function flagToCommandFlag(_0x286be3){const _0x33ddf7=a60_0xb3d3;return{'name':_0x286be3[_0x33ddf7(0xbb)],'type':_0x286be3[_0x33ddf7(0xb2)]===_0x33ddf7(0x117)?_0x33ddf7(0xe8):_0x286be3[_0x33ddf7(0xb2)],'description':_0x286be3[_0x33ddf7(0xcd)]||_0x286be3[_0x33ddf7(0xf0)],'required':_0x286be3['required'],'default':isPrimitiveFlagDefault(_0x286be3[_0x33ddf7(0xf2)])?_0x286be3[_0x33ddf7(0xf2)]:undefined,'enum':_0x286be3[_0x33ddf7(0x102)]};}async function compilePlan(_0x256d22,_0x3ee8b5){const _0x30fc9b=a60_0xb3d3;return compileServiceTreeCommand(_0x256d22,{'flags':_0x3ee8b5[_0x30fc9b(0xdd)],'args':_0x3ee8b5[_0x30fc9b(0xcf)],'context':await buildServiceContext(_0x256d22,_0x3ee8b5)});}async function buildServiceContext(_0x2ef500,_0x11e36d){const _0x4aa5a4=a60_0xb3d3,_0x57f128={'appCode':_0x11e36d['appCode'],'env':_0x11e36d[_0x4aa5a4(0xc7)],'envName':_0x11e36d[_0x4aa5a4(0xc7)]};if(!usesRuntimeContext(_0x2ef500))return _0x57f128;const _0x5958c1=await getLoginUserInfo(),_0x2f77e4=pickFirst(_0x5958c1[_0x4aa5a4(0xea)],_0x5958c1['id']);return{..._0x57f128,'user':_0x5958c1,'userId':_0x2f77e4,'id':_0x5958c1['id'],'username':pickFirst(_0x5958c1[_0x4aa5a4(0xf1)],_0x5958c1['userName'],_0x5958c1[_0x4aa5a4(0xc4)]),'userName':_0x5958c1['userName'],'nickname':pickFirst(_0x5958c1[_0x4aa5a4(0xb8)],_0x5958c1[_0x4aa5a4(0x118)]),'nickName':_0x5958c1[_0x4aa5a4(0x118)],'tenantCode':_0x5958c1['tenantCode'],'employeeId':_0x5958c1[_0x4aa5a4(0x101)]};}function usesRuntimeContext(_0x1fd305){const _0x3bf1c8=a60_0xb3d3;return _0x1fd305[_0x3bf1c8(0xd2)]['some'](_0x3e4fa6=>typeof _0x3e4fa6[_0x3bf1c8(0xeb)]==='string'&&(_0x3e4fa6['source'][_0x3bf1c8(0x115)]('context.')||_0x3e4fa6['source'][_0x3bf1c8(0x115)](_0x3bf1c8(0xf3))));}function pickFirst(..._0x3e5ff4){const _0x52ccc3=a60_0xb3d3;return _0x3e5ff4[_0x52ccc3(0xbf)](_0x2aae1d=>_0x2aae1d!==undefined&&_0x2aae1d!==null);}async function executePlan(_0x3adf64,_0x13976d,_0x5697e9){const _0xff1894=a60_0xb3d3;if(_0x3adf64[_0xff1894(0xe0)]===_0xff1894(0xfe)){const _0x2665a5=await resolveDatasetCode(_0x3adf64,_0x13976d,_0x5697e9);return executeData(_0x2665a5,_0x3adf64[_0xff1894(0xdf)],_0x3adf64['params']);}if(_0x3adf64[_0xff1894(0xe0)]==='sql'){if(!_0x3adf64[_0xff1894(0xbe)])throw CliErrors[_0xff1894(0x104)](_0xff1894(0xed)+_0x13976d[_0xff1894(0x119)]+_0xff1894(0xd5));return executeSdkSql(_0x3adf64[_0xff1894(0xbe)],normalizeScalarParams(_0x3adf64['params']));}if(_0x3adf64[_0xff1894(0xe0)]==='bff'){const _0x498468=_0x3adf64[_0xff1894(0xe9)]||_0x3adf64[_0xff1894(0xc1)]||(_0x3adf64[_0xff1894(0xd8)]==null?'':String(_0x3adf64[_0xff1894(0xd8)]));if(!_0x498468)throw CliErrors['validation'](_0xff1894(0xed)+_0x13976d[_0xff1894(0x119)]+_0xff1894(0x10d));return executeSdkBff(_0x498468,_0x3adf64['params']);}throw CliErrors[_0xff1894(0x104)](_0xff1894(0xfc)+_0x3adf64[_0xff1894(0xe0)]);}async function resolveDatasetCode(_0x5f4429,_0x4180a8,_0xa2852c){const _0x2c4693=a60_0xb3d3;if(_0x5f4429[_0x2c4693(0xe7)])return _0x5f4429[_0x2c4693(0xe7)];if(!_0x5f4429[_0x2c4693(0xfb)])throw CliErrors[_0x2c4693(0x104)](_0x2c4693(0xed)+_0x4180a8[_0x2c4693(0x119)]+_0x2c4693(0xf5));const _0x2e2ed4=await listDatasets(_0xa2852c[_0x2c4693(0xe4)]),_0x4ad16e=_0x2e2ed4[_0x2c4693(0xbf)](_0x1f83af=>_0x1f83af[_0x2c4693(0x107)]?.[_0x2c4693(0xd1)]===_0x5f4429[_0x2c4693(0xfb)]);if(!_0x4ad16e?.[_0x2c4693(0xf9)])throw CliErrors['validation'](_0x2c4693(0x105)+_0x5f4429[_0x2c4693(0xfb)]+'\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20'+_0xa2852c[_0x2c4693(0xe4)]+'.',_0x2c4693(0x110));return _0x4ad16e['code'];}function applyAppBinding(_0x16e3a9,_0x331efa,_0x38cb49){const _0x5cd38a=a60_0xb3d3,_0x4b8ac5=_0x331efa[_0x5cd38a(0xda)][_0x5cd38a(0xb4)];if(!_0x4b8ac5)return;const _0x519f07=_0x16e3a9['appBindings'][_0x4b8ac5];if(!_0x519f07)throw CliErrors[_0x5cd38a(0x104)]('Unknown\x20appRef\x20\x22'+_0x4b8ac5+_0x5cd38a(0xd3)+_0x331efa[_0x5cd38a(0x119)]+'.','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.');const _0x25f11d=_0x519f07[_0x5cd38a(0x114)]||_0x519f07[_0x5cd38a(0xe4)];_0x25f11d&&!hasText(_0x38cb49[_0x5cd38a(0x114)])&&(_0x38cb49[_0x5cd38a(0x114)]=_0x25f11d),_0x519f07['app']&&!hasText(_0x38cb49[_0x5cd38a(0xb3)])&&!hasText(_0x38cb49[_0x5cd38a(0x114)])&&(_0x38cb49[_0x5cd38a(0xb3)]=_0x519f07[_0x5cd38a(0xb3)]),_0x519f07['env']&&!hasText(_0x38cb49['env'])&&(_0x38cb49[_0x5cd38a(0xc3)]=_0x519f07[_0x5cd38a(0xc3)]);}function renderDynamicCommandHelp(_0x1c4860){const _0x363cfe=a60_0xb3d3,_0x46f96f=[_0x363cfe(0x10b),'\x20\x20\x20\x20kind:\x20\x20\x20\x20'+_0x1c4860[_0x363cfe(0xda)][_0x363cfe(0xe0)],_0x363cfe(0x111)+_0x1c4860[_0x363cfe(0xda)][_0x363cfe(0xdf)]];if(_0x1c4860[_0x363cfe(0xda)][_0x363cfe(0xe7)])_0x46f96f['push'](_0x363cfe(0xdb)+_0x1c4860[_0x363cfe(0xda)]['datasetCode']);if(_0x1c4860[_0x363cfe(0xda)][_0x363cfe(0xfb)])_0x46f96f[_0x363cfe(0xfa)](_0x363cfe(0xc5)+_0x1c4860['target'][_0x363cfe(0xfb)]);if(_0x1c4860[_0x363cfe(0xda)]['sqlCode'])_0x46f96f['push'](_0x363cfe(0xd0)+_0x1c4860[_0x363cfe(0xda)][_0x363cfe(0xbe)]);if(_0x1c4860[_0x363cfe(0xda)]['scriptName'])_0x46f96f['push'](_0x363cfe(0xd9)+_0x1c4860[_0x363cfe(0xda)]['scriptName']);if(_0x1c4860[_0x363cfe(0xd2)]['length']>0x0){_0x46f96f[_0x363cfe(0xfa)]('','\x20\x20MAP\x20TO');for(const _0x479d36 of _0x1c4860[_0x363cfe(0xd2)]){_0x46f96f['push']('\x20\x20\x20\x20'+(_0x479d36[_0x363cfe(0xeb)]||_0x363cfe(0x10c))+_0x363cfe(0xe3)+_0x479d36[_0x363cfe(0xda)]+(_0x479d36[_0x363cfe(0x112)]?'.'+_0x479d36['operator']:''));}}return _0x46f96f[_0x363cfe(0xde)]('\x0a');}function targetPreview(_0x6cb80b){const _0x3fe9e7=a60_0xb3d3;return{'kind':_0x6cb80b[_0x3fe9e7(0xe0)],'command':_0x6cb80b['command'],'appRef':_0x6cb80b['appRef'],'datasetCode':_0x6cb80b[_0x3fe9e7(0xe7)],'datatable':_0x6cb80b['datatable'],'sqlCode':_0x6cb80b['sqlCode'],'bffCode':_0x6cb80b[_0x3fe9e7(0xc1)],'bffId':_0x6cb80b['bffId'],'functionName':_0x6cb80b[_0x3fe9e7(0xe9)]};}function normalizeScalarParams(_0x417c65){const _0x29ecbe=a60_0xb3d3;return Object[_0x29ecbe(0xec)](Object['entries'](_0x417c65)[_0x29ecbe(0x10e)](([,_0x2dc6fb])=>typeof _0x2dc6fb===_0x29ecbe(0xe8)||typeof _0x2dc6fb===_0x29ecbe(0xdc)));}function hasText(_0x15e3e6){const _0x322a63=a60_0xb3d3;return typeof _0x15e3e6===_0x322a63(0xe8)&&_0x15e3e6[_0x322a63(0xcc)]()[_0x322a63(0x10a)]>0x0;}function isPrimitiveFlagDefault(_0x4c3425){const _0x30c781=a60_0xb3d3;return _0x4c3425===undefined||typeof _0x4c3425==='string'||typeof _0x4c3425==='number'||typeof _0x4c3425===_0x30c781(0xe1);}function a60_0xf812(){const _0x42f7f5=['json','nickName','cliPath','type','app','appRef','10507761WwFgBQ','200EcXUXr','padEnd','nickname','1QCrcFU','required','cliName','SERVICE_TREE','flatMap','sqlCode','find','132330GrJsdQ','bffCode','remainingArgs','env','loginName','\x20\x20\x20\x20datatable:\x20','This\x20will\x20run\x20Service\x20Tree\x20command\x20\x22','envName','`\x20to\x20inspect\x20the\x20manifest.','now','normalizedManifest','params','trim','description','fullPath','args','\x20\x20\x20\x20sqlCode:\x20','tableName','mapTo','\x22\x20in\x20service\x20command\x20','tree','\x20requires\x20target.sqlCode.','read','1329760MDLzzh','bffId','\x20\x20\x20\x20functionName:\x20','target','\x20\x20\x20\x20datasetCode:\x20','number','rawFlags','join','command','kind','boolean','\x22.\x20','\x20->\x20','appCode','slice','high-risk-write','datasetCode','string','scriptName','userId','source','fromEntries','Service\x20command\x20','Run\x20service\x20command\x20','\x20service\x20detail\x20--service\x20','name','username','default','ctx.','596368ShUMpP','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','1104195HoGkIM','3SEEpzA','9bVLNEY','code','push','datatable','Unsupported\x20service\x20target\x20kind:\x20','service','data','105441XqzNNp','Use\x20`','employeeId','enum','Preview\x20dynamic\x20service\x20command:\x20','validation','Cannot\x20resolve\x20datatable\x20\x22','risk','dbtableConfig','802852EillTC','The\x20manifest\x20marks\x20this\x20command\x20as\x20a\x20write.\x20It\x20may\x20change\x20business\x20data\x20or\x20service\x20state.','length','\x20\x20SERVICE\x20TREE\x20TARGET','const','\x20requires\x20target.functionName.','filter','map','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','\x20\x20\x20\x20command:\x20','operator','\x20<command>\x20[flags]','appcode','startsWith','Commands:'];a60_0xf812=function(){return _0x42f7f5;};return a60_0xf812();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x54521c,_0x1654b5){const _0xb002a=a61_0x13b7,_0x4a5489=_0x54521c();while(!![]){try{const _0x33acc0=-parseInt(_0xb002a(0x89))/0x1+parseInt(_0xb002a(0x72))/0x2*(-parseInt(_0xb002a(0x76))/0x3)+parseInt(_0xb002a(0x7e))/0x4+-parseInt(_0xb002a(0x7f))/0x5+parseInt(_0xb002a(0x83))/0x6+parseInt(_0xb002a(0x81))/0x7+parseInt(_0xb002a(0x7b))/0x8;if(_0x33acc0===_0x1654b5)break;else _0x4a5489['push'](_0x4a5489['shift']());}catch(_0x33dbbc){_0x4a5489['push'](_0x4a5489['shift']());}}}(a61_0x41b8,0x2bde6));export function adaptServiceTreeManifestForLegacyFramework(_0x1963ee){const _0x344cbe=a61_0x13b7,_0x2788ef=cloneJsonValue(_0x1963ee),_0x2afc87=[];if(!isObjectRecord(_0x2788ef))return{'manifest':_0x2788ef,'errors':_0x2afc87};return Array[_0x344cbe(0x86)](_0x2788ef[_0x344cbe(0x8f)])&&_0x2788ef['commands'][_0x344cbe(0x92)]((_0x38d1d9,_0x21f523)=>{const _0x3094b6=_0x344cbe;if(!isObjectRecord(_0x38d1d9))return;adaptBffTarget(_0x38d1d9['target'],_0x3094b6(0x90)+_0x21f523+'].target',_0x2afc87);}),adaptResources(_0x2788ef['resources'],_0x344cbe(0x82),_0x2afc87),{'manifest':_0x2788ef,'errors':_0x2afc87};}function a61_0x41b8(){const _0x4f0462=['entries','.target','commands','$.commands[','bff','forEach','.actions.','resources','functionName\x20must\x20be\x20a\x20non-empty\x20string.','3346rVkHCm','kind','Use\x20functionName;\x20scriptName\x20is\x20not\x20part\x20of\x20the\x20runtime\x20Service\x20Tree\x20contract.','prototype','303IVGUvr','map','trim','string','object','976168tEYgxh','functionName','error','453852uNwihX','64935nOGQyT','hasOwnProperty','1217643ThOXsU','$.resources','90954PCvKni','bff.exec','target','isArray','.resources','scriptName','62946lEQxPX','actions','action','call'];a61_0x41b8=function(){return _0x4f0462;};return a61_0x41b8();}export function toPublicServiceTreeTarget(_0x11433f){const _0x7b78cd=a61_0x13b7,{scriptName:_0x16fb60,..._0x125ce5}=_0x11433f;return typeof _0x16fb60==='string'&&_0x16fb60[_0x7b78cd(0x78)]()&&(_0x125ce5['functionName']=_0x16fb60),_0x125ce5;}export function toPublicNormalizedServiceTree(_0x4a16fa){const _0x172070=a61_0x13b7;return{..._0x4a16fa,'commands':_0x4a16fa[_0x172070(0x8f)][_0x172070(0x77)](_0x50ca49=>({..._0x50ca49,'target':toPublicServiceTreeTarget(_0x50ca49['target'])}))};}function adaptResources(_0x1e21ea,_0x13ee78,_0x5e9950){const _0x2d1f0c=a61_0x13b7;if(!isObjectRecord(_0x1e21ea))return;for(const [_0x59deba,_0x45688f]of Object[_0x2d1f0c(0x8d)](_0x1e21ea)){if(!isObjectRecord(_0x45688f))continue;const _0x571a9a=_0x13ee78+'.'+_0x59deba;if(isObjectRecord(_0x45688f[_0x2d1f0c(0x8a)]))for(const [_0x2c7073,_0x496931]of Object[_0x2d1f0c(0x8d)](_0x45688f[_0x2d1f0c(0x8a)])){if(!isObjectRecord(_0x496931))continue;const _0x53f2ce=_0x571a9a+_0x2d1f0c(0x93)+_0x2c7073,_0x560dcb=isObjectRecord(_0x496931[_0x2d1f0c(0x85)])&&_0x496931['target'][_0x2d1f0c(0x73)]===_0x2d1f0c(0x91);adaptBffTarget(_0x496931[_0x2d1f0c(0x85)],_0x53f2ce+_0x2d1f0c(0x8e),_0x5e9950),(_0x560dcb||isBffAction(_0x496931))&&adaptFunctionNameField(_0x496931,_0x53f2ce,_0x5e9950);}adaptResources(_0x45688f[_0x2d1f0c(0x94)],_0x571a9a+_0x2d1f0c(0x87),_0x5e9950);}}function adaptBffTarget(_0x8e1e9b,_0x3a0e1d,_0x805bec){const _0x2ce405=a61_0x13b7;if(!isObjectRecord(_0x8e1e9b)||_0x8e1e9b['kind']!==_0x2ce405(0x91))return;adaptFunctionNameField(_0x8e1e9b,_0x3a0e1d,_0x805bec);}function adaptFunctionNameField(_0x28d4b2,_0x1605db,_0x59b0d4){const _0x2af7bf=a61_0x13b7;Object[_0x2af7bf(0x75)]['hasOwnProperty'][_0x2af7bf(0x8c)](_0x28d4b2,_0x2af7bf(0x88))&&_0x59b0d4['push']({'level':_0x2af7bf(0x7d),'path':_0x1605db+'.scriptName','message':_0x2af7bf(0x74)});if(Object[_0x2af7bf(0x75)][_0x2af7bf(0x80)]['call'](_0x28d4b2,_0x2af7bf(0x7c))){if(typeof _0x28d4b2[_0x2af7bf(0x7c)]!==_0x2af7bf(0x79)||!_0x28d4b2[_0x2af7bf(0x7c)][_0x2af7bf(0x78)]()){_0x59b0d4['push']({'level':_0x2af7bf(0x7d),'path':_0x1605db+'.functionName','message':_0x2af7bf(0x95)}),delete _0x28d4b2['functionName'];return;}_0x28d4b2[_0x2af7bf(0x88)]=_0x28d4b2[_0x2af7bf(0x7c)],delete _0x28d4b2['functionName'];}}function a61_0x13b7(_0x1b160e,_0x41d6e3){_0x1b160e=_0x1b160e-0x72;const _0x41b82f=a61_0x41b8();let _0x13b71f=_0x41b82f[_0x1b160e];return _0x13b71f;}function isBffAction(_0x3bc4d3){const _0x3afdad=a61_0x13b7;return _0x3bc4d3[_0x3afdad(0x73)]==='bff'||_0x3bc4d3[_0x3afdad(0x8b)]==='bff.exec'||_0x3bc4d3[_0x3afdad(0x85)]===_0x3afdad(0x84);}function cloneJsonValue(_0x35e36c){const _0x46af33=a61_0x13b7;if(Array[_0x46af33(0x86)](_0x35e36c))return _0x35e36c[_0x46af33(0x77)](_0x18ac9a=>cloneJsonValue(_0x18ac9a));if(isObjectRecord(_0x35e36c))return Object['fromEntries'](Object[_0x46af33(0x8d)](_0x35e36c)['map'](([_0x5576e7,_0x486ef0])=>[_0x5576e7,cloneJsonValue(_0x486ef0)]));return _0x35e36c;}function isObjectRecord(_0x57212e){const _0x2bc9c2=a61_0x13b7;return Boolean(_0x57212e)&&typeof _0x57212e===_0x2bc9c2(0x7a)&&!Array[_0x2bc9c2(0x86)](_0x57212e);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a62_0x1a56f2=a62_0x53a1;(function(_0x54de58,_0x1a6183){const _0x552f74=a62_0x53a1,_0x1b713e=_0x54de58();while(!![]){try{const _0x3bf590=-parseInt(_0x552f74(0x150))/0x1*(-parseInt(_0x552f74(0x14e))/0x2)+parseInt(_0x552f74(0x146))/0x3+parseInt(_0x552f74(0x147))/0x4+-parseInt(_0x552f74(0x124))/0x5+-parseInt(_0x552f74(0x121))/0x6+parseInt(_0x552f74(0x126))/0x7*(parseInt(_0x552f74(0x160))/0x8)+-parseInt(_0x552f74(0x141))/0x9*(parseInt(_0x552f74(0x11e))/0xa);if(_0x3bf590===_0x1a6183)break;else _0x1b713e['push'](_0x1b713e['shift']());}catch(_0x2ea8ee){_0x1b713e['push'](_0x1b713e['shift']());}}}(a62_0x33e4,0xccb51));import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';function a62_0x53a1(_0x221be6,_0x44dbd5){_0x221be6=_0x221be6-0x117;const _0x33e481=a62_0x33e4();let _0x53a146=_0x33e481[_0x221be6];return _0x53a146;}import{toPublicNormalizedServiceTree,toPublicServiceTreeTarget}from'../../commands/service/function-name-adapter.js';const FILE_FLAG={'name':a62_0x1a56f2(0x13b),'type':a62_0x1a56f2(0x137),'required':!![],'description':a62_0x1a56f2(0x14c)},SERVICE_FLAG={'name':a62_0x1a56f2(0x163),'type':'string','required':!![],'description':a62_0x1a56f2(0x157),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':'lower\x20kebab-case\x20service\x20code'}};function summarizeService(_0x4bad96){const _0x3385b5=a62_0x1a56f2;return{'serviceCode':_0x4bad96[_0x3385b5(0x133)],'name':_0x4bad96[_0x3385b5(0x14b)]['service']['name'],'version':_0x4bad96[_0x3385b5(0x119)],'importedAt':_0x4bad96[_0x3385b5(0x15a)],'source':_0x4bad96[_0x3385b5(0x143)],'commandCount':_0x4bad96['normalizedManifest'][_0x3385b5(0x13e)][_0x3385b5(0x155)],'commands':_0x4bad96[_0x3385b5(0x14b)][_0x3385b5(0x13e)][_0x3385b5(0x15c)](_0x4ff34a=>({'path':_0x4ff34a[_0x3385b5(0x11d)],'description':_0x4ff34a[_0x3385b5(0x12a)],'risk':_0x4ff34a[_0x3385b5(0x153)],'target':toPublicServiceTreeTarget(_0x4ff34a['target']),'flags':_0x4ff34a[_0x3385b5(0x122)][_0x3385b5(0x15c)](_0xa15b65=>({'name':_0xa15b65[_0x3385b5(0x15e)],'cliName':_0xa15b65[_0x3385b5(0x13d)],'type':_0xa15b65[_0x3385b5(0x129)],'required':_0xa15b65[_0x3385b5(0x123)]===!![]}))}))};}function summarizeLoadedManifest(_0x18d941){const _0x57aea2=a62_0x1a56f2;return{'service':_0x18d941[_0x57aea2(0x14b)]?.['service'],'version':_0x18d941[_0x57aea2(0x14b)]?.[_0x57aea2(0x119)],'commandCount':_0x18d941['normalizedManifest']?.[_0x57aea2(0x13e)][_0x57aea2(0x155)]??0x0,'commands':_0x18d941[_0x57aea2(0x14b)]?.[_0x57aea2(0x13e)][_0x57aea2(0x15c)](_0x29dd6b=>({'path':_0x29dd6b[_0x57aea2(0x11d)],'risk':_0x29dd6b[_0x57aea2(0x153)],'target':toPublicServiceTreeTarget(_0x29dd6b[_0x57aea2(0x127)])}))??[],'registryIndex':_0x18d941[_0x57aea2(0x142)],'registryServiceCode':_0x18d941[_0x57aea2(0x125)],'errors':_0x18d941[_0x57aea2(0x152)][_0x57aea2(0x12d)],'warnings':_0x18d941[_0x57aea2(0x152)][_0x57aea2(0x15d)]};}function a62_0x33e4(){const _0x3db08a=['import','\x20service(s).','3762234PWbmSb','1986488oXIVJJ','Remove\x20a\x20Service\x20Tree\x20manifest\x20from\x20the\x20local\x20runtime\x20registry','Service\x20registry\x20validation\x20passed.','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','normalizedManifest','Service\x20Tree\x20manifest\x20file\x20path','entry','110molCpP','entries','24473WgEkxq','Writes\x20the\x20local\x20Service\x20Tree\x20manifest\x20for\x20the\x20given\x20service\x20to\x20a\x20JSON\x20file.\x20An\x20existing\x20file\x20at\x20the\x20target\x20may\x20be\x20overwritten.\x20The\x20confirmation\x20UI\x20does\x20not\x20show\x20local\x20file\x20paths.','report','risk','\x20service\x20','length','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','Local\x20service\x20code,\x20for\x20example\x20crm','Export\x20the\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','manifest','importedAt','WRITE','map','warnings','name','\x20service(s),\x20updated\x20','179440rttyXc','Imported\x20','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','service','replaced','Removes\x20the\x20given\x20service\x20manifest\x20from\x20the\x20local\x20Service\x20Tree\x20registry.\x20Dynamic\x20commands\x20from\x20that\x20manifest\x20will\x20no\x20longer\x20be\x20available.','filePath','version','updated','Removed\x20service\x20','export','cliPath','10HiZgrs','list','kind','7860570VcoQDE','flags','required','2152310TgHSdG','registryServiceCode','392ogsHGr','target','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','type','description','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','serviceCount','errors','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','imported','hash','validate','str','serviceCode','Service\x20manifest\x20validation\x20passed.','write','Local\x20service\x20not\x20found:\x20','string','Imported','manifests','Reads\x20the\x20given\x20manifest\x20into\x20the\x20local\x20Service\x20Tree\x20registry.\x20An\x20existing\x20manifest\x20with\x20the\x20same\x20service\x20code\x20is\x20updated.\x20The\x20confirmation\x20UI\x20does\x20not\x20show\x20local\x20file\x20paths.','file','read','cliName','commands','Exported\x20service\x20','detail','15963813lmMHSh','registryIndex','source'];a62_0x33e4=function(){return _0x3db08a;};return a62_0x33e4();}export const serviceDefinitions=[{'service':a62_0x1a56f2(0x163),'command':a62_0x1a56f2(0x131),'description':a62_0x1a56f2(0x12b),'risk':a62_0x1a56f2(0x13c),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x5ea1ad){const _0x12e4d6=a62_0x1a56f2,_0x21adf6=loadServiceManifestFromFile(_0x5ea1ad[_0x12e4d6(0x132)](_0x12e4d6(0x13b)));if(!_0x21adf6[_0x12e4d6(0x152)]['ok'])return{'ok':![],'data':{'file':_0x21adf6[_0x12e4d6(0x118)],'hash':_0x21adf6['hash'],'kind':_0x21adf6[_0x12e4d6(0x120)],'serviceCount':_0x21adf6['manifests'][_0x12e4d6(0x155)],'services':_0x21adf6[_0x12e4d6(0x139)][_0x12e4d6(0x15c)](summarizeLoadedManifest),'errors':_0x21adf6[_0x12e4d6(0x152)]['errors'],'warnings':_0x21adf6[_0x12e4d6(0x152)][_0x12e4d6(0x15d)]},'message':formatValidationFailure(_0x21adf6['report'])};if(_0x21adf6[_0x12e4d6(0x120)]==='registry'||_0x21adf6[_0x12e4d6(0x139)][_0x12e4d6(0x155)]!==0x1)return{'ok':!![],'data':{'file':_0x21adf6[_0x12e4d6(0x118)],'hash':_0x21adf6[_0x12e4d6(0x130)],'kind':_0x21adf6[_0x12e4d6(0x120)],'serviceCount':_0x21adf6['manifests'][_0x12e4d6(0x155)],'commandCount':_0x21adf6[_0x12e4d6(0x139)]['reduce']((_0x70a73e,_0x193d51)=>_0x70a73e+(_0x193d51[_0x12e4d6(0x14b)]?.[_0x12e4d6(0x13e)][_0x12e4d6(0x155)]??0x0),0x0),'services':_0x21adf6[_0x12e4d6(0x139)]['map'](summarizeLoadedManifest),'warnings':_0x21adf6[_0x12e4d6(0x152)]['warnings']},'message':_0x12e4d6(0x149)};return{'ok':!![],'data':{'file':_0x21adf6[_0x12e4d6(0x118)],'hash':_0x21adf6[_0x12e4d6(0x130)],'kind':_0x21adf6[_0x12e4d6(0x120)],'service':_0x21adf6[_0x12e4d6(0x14b)]?.[_0x12e4d6(0x163)],'version':_0x21adf6['normalizedManifest']?.[_0x12e4d6(0x119)],'commandCount':_0x21adf6[_0x12e4d6(0x14b)]?.[_0x12e4d6(0x13e)][_0x12e4d6(0x155)]??0x0,'commands':_0x21adf6[_0x12e4d6(0x14b)]?.['commands']['map'](_0x4734f0=>({'path':_0x4734f0[_0x12e4d6(0x11d)],'risk':_0x4734f0[_0x12e4d6(0x153)],'target':toPublicServiceTreeTarget(_0x4734f0[_0x12e4d6(0x127)])})),'warnings':_0x21adf6[_0x12e4d6(0x152)][_0x12e4d6(0x15d)]},'message':_0x12e4d6(0x134)};}},{'service':a62_0x1a56f2(0x163),'command':a62_0x1a56f2(0x144),'description':a62_0x1a56f2(0x156),'risk':a62_0x1a56f2(0x135),'confirmationDescription':a62_0x1a56f2(0x13a),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x211e6e){const _0x581809=a62_0x1a56f2,_0x315200=loadServiceManifestFromFile(_0x211e6e['str']('file'));return{'method':'WRITE','url':getServiceRegistryPath(),'body':{'file':_0x315200['filePath'],'hash':_0x315200[_0x581809(0x130)],'kind':_0x315200['kind'],'ok':_0x315200[_0x581809(0x152)]['ok'],'service':_0x315200[_0x581809(0x14b)]?.[_0x581809(0x163)],'version':_0x315200[_0x581809(0x14b)]?.[_0x581809(0x119)],'serviceCount':_0x315200[_0x581809(0x139)][_0x581809(0x155)],'services':_0x315200[_0x581809(0x139)][_0x581809(0x15c)](_0x4415d8=>({'service':_0x4415d8[_0x581809(0x14b)]?.['service'],'version':_0x4415d8[_0x581809(0x14b)]?.[_0x581809(0x119)],'commandCount':_0x4415d8[_0x581809(0x14b)]?.[_0x581809(0x13e)][_0x581809(0x155)]??0x0,'errors':_0x4415d8['report'][_0x581809(0x12d)]})),'errors':_0x315200[_0x581809(0x152)][_0x581809(0x12d)],'commandCount':_0x315200['normalizedManifest']?.[_0x581809(0x13e)][_0x581809(0x155)]??0x0},'description':_0x581809(0x128)};},async 'execute'(_0xfc4faf){const _0x32d109=a62_0x1a56f2,_0xc1543b=importServiceManifest(_0xfc4faf[_0x32d109(0x132)]('file'));if(_0xc1543b[_0x32d109(0x14f)][_0x32d109(0x155)]!==0x1)return{'ok':!![],'data':{'registryPath':_0xc1543b['registryPath'],'imported':_0xc1543b[_0x32d109(0x12f)],'updated':_0xc1543b[_0x32d109(0x11a)],'serviceCount':_0xc1543b[_0x32d109(0x12c)],'services':_0xc1543b[_0x32d109(0x14f)]['map'](summarizeService)},'message':_0x32d109(0x161)+_0xc1543b['imported']+_0x32d109(0x15f)+_0xc1543b[_0x32d109(0x11a)]+_0x32d109(0x145)};return{'ok':!![],'data':{'registryPath':_0xc1543b['registryPath'],'replaced':_0xc1543b[_0x32d109(0x164)],'imported':_0xc1543b[_0x32d109(0x12f)],'updated':_0xc1543b[_0x32d109(0x11a)],'serviceCount':_0xc1543b[_0x32d109(0x12c)],'service':summarizeService(_0xc1543b[_0x32d109(0x14d)])},'message':(_0xc1543b[_0x32d109(0x164)]?'Updated':_0x32d109(0x138))+_0x32d109(0x154)+_0xc1543b[_0x32d109(0x14d)][_0x32d109(0x133)]+'.'};}},{'service':a62_0x1a56f2(0x163),'command':a62_0x1a56f2(0x11c),'description':a62_0x1a56f2(0x158),'risk':a62_0x1a56f2(0x135),'confirmationDescription':a62_0x1a56f2(0x151),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x25de44){const _0x50ad42=a62_0x1a56f2,_0x194974=getLocalServiceEntry(_0x25de44['str']('service'));return{'method':_0x50ad42(0x15b),'url':_0x25de44[_0x50ad42(0x132)](_0x50ad42(0x13b)),'body':{'service':_0x25de44[_0x50ad42(0x132)](_0x50ad42(0x163)),'found':Boolean(_0x194974),'version':_0x194974?.[_0x50ad42(0x119)],'source':_0x194974?.[_0x50ad42(0x143)]},'description':_0x50ad42(0x162)};},async 'execute'(_0x587567){const _0x1605bc=a62_0x1a56f2,_0xf04f90=exportServiceManifest(_0x587567[_0x1605bc(0x132)]('service'),_0x587567['str'](_0x1605bc(0x13b)));return{'ok':!![],'data':{'registryPath':_0xf04f90['registryPath'],'file':_0xf04f90['filePath'],'service':summarizeService(_0xf04f90[_0x1605bc(0x14d)])},'message':_0x1605bc(0x13f)+_0xf04f90[_0x1605bc(0x14d)][_0x1605bc(0x133)]+'.'};}},{'service':a62_0x1a56f2(0x163),'command':a62_0x1a56f2(0x11f),'description':a62_0x1a56f2(0x14a),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x3553d7=a62_0x1a56f2,_0x39b2ec=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x39b2ec[_0x3553d7(0x155)],'services':_0x39b2ec['map'](summarizeService)}};}},{'service':a62_0x1a56f2(0x163),'command':'remove','description':a62_0x1a56f2(0x148),'risk':'write','confirmationDescription':a62_0x1a56f2(0x117),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x3d79c6){const _0x6d0480=a62_0x1a56f2,_0x514bd3=getLocalServiceEntry(_0x3d79c6['str'](_0x6d0480(0x163)));return{'method':'WRITE','url':getServiceRegistryPath(),'body':{'service':_0x3d79c6[_0x6d0480(0x132)](_0x6d0480(0x163)),'found':Boolean(_0x514bd3),'version':_0x514bd3?.['version'],'source':_0x514bd3?.[_0x6d0480(0x143)]},'description':_0x6d0480(0x12e)};},async 'execute'(_0xdc31b2){const _0x2207e3=a62_0x1a56f2,_0x4761ae=removeServiceManifest(_0xdc31b2[_0x2207e3(0x132)](_0x2207e3(0x163)));return{'ok':!![],'data':{'registryPath':_0x4761ae['registryPath'],'serviceCount':_0x4761ae[_0x2207e3(0x12c)],'service':summarizeService(_0x4761ae[_0x2207e3(0x14d)])},'message':_0x2207e3(0x11b)+_0x4761ae['entry'][_0x2207e3(0x133)]+'.'};}},{'service':'service','command':a62_0x1a56f2(0x140),'description':'Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','risk':a62_0x1a56f2(0x13c),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x54ef0a){const _0x347d9a=a62_0x1a56f2,_0x582c7c=getLocalServiceEntry(_0x54ef0a[_0x347d9a(0x132)](_0x347d9a(0x163)));if(!_0x582c7c)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x54ef0a[_0x347d9a(0x132)](_0x347d9a(0x163))},'message':_0x347d9a(0x136)+_0x54ef0a[_0x347d9a(0x132)](_0x347d9a(0x163))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x582c7c),'manifest':_0x582c7c[_0x347d9a(0x159)],'normalizedManifest':toPublicNormalizedServiceTree(_0x582c7c[_0x347d9a(0x14b)])}};}}];
|
|
1
|
+
const a62_0xba388b=a62_0x9cf6;(function(_0x4102ec,_0x413af9){const _0xfa27dc=a62_0x9cf6,_0x25b4c6=_0x4102ec();while(!![]){try{const _0x2d6a2c=parseInt(_0xfa27dc(0x214))/0x1*(parseInt(_0xfa27dc(0x222))/0x2)+-parseInt(_0xfa27dc(0x1fd))/0x3*(parseInt(_0xfa27dc(0x227))/0x4)+parseInt(_0xfa27dc(0x1ea))/0x5*(-parseInt(_0xfa27dc(0x216))/0x6)+-parseInt(_0xfa27dc(0x228))/0x7*(parseInt(_0xfa27dc(0x1ec))/0x8)+-parseInt(_0xfa27dc(0x1fc))/0x9+parseInt(_0xfa27dc(0x225))/0xa*(-parseInt(_0xfa27dc(0x1f6))/0xb)+parseInt(_0xfa27dc(0x1ed))/0xc;if(_0x2d6a2c===_0x413af9)break;else _0x25b4c6['push'](_0x25b4c6['shift']());}catch(_0x3769c5){_0x25b4c6['push'](_0x25b4c6['shift']());}}}(a62_0x2821,0x59b15));function a62_0x2821(){const _0x120dd7=['file','length','detail','2Vhsxnq','normalizedManifest','14754pFOmVF','Removed\x20service\x20','Updated','list','description','Removes\x20the\x20given\x20service\x20manifest\x20from\x20the\x20local\x20Service\x20Tree\x20registry.\x20Dynamic\x20commands\x20from\x20that\x20manifest\x20will\x20no\x20longer\x20be\x20available.','risk','write','Reads\x20the\x20given\x20manifest\x20into\x20the\x20local\x20Service\x20Tree\x20registry.\x20An\x20existing\x20manifest\x20with\x20the\x20same\x20service\x20code\x20is\x20updated.\x20The\x20confirmation\x20UI\x20does\x20not\x20show\x20local\x20file\x20paths.','updated','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','cliName','12344gQIMBe','map','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','110DDlGtA','commands','400588JmlVUD','7ydWQrJ','kind','validate','read','entry','flags','service','lower\x20kebab-case\x20service\x20code','Imported\x20','registryServiceCode','importedAt','manifest','WRITE','manifests','registry','535JziDUQ','source','207608tkMClL','24067296QIJaOo','Export\x20the\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','report','Writes\x20the\x20local\x20Service\x20Tree\x20manifest\x20for\x20the\x20given\x20service\x20to\x20a\x20JSON\x20file.\x20An\x20existing\x20file\x20at\x20the\x20target\x20may\x20be\x20overwritten.\x20The\x20confirmation\x20UI\x20does\x20not\x20show\x20local\x20file\x20paths.','target','type','warnings','errors','filePath','617276SFOfdJ','hash','string','serviceCount','version','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','5796756jmKWYU','3AFxKiR','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','\x20service\x20','cliPath','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','Service\x20Tree\x20manifest\x20file\x20path','Service\x20registry\x20validation\x20passed.','Remove\x20a\x20Service\x20Tree\x20manifest\x20from\x20the\x20local\x20runtime\x20registry','Service\x20manifest\x20validation\x20passed.','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','replaced','registryPath','serviceCode','str','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','reduce','name','export','Local\x20service\x20code,\x20for\x20example\x20crm','imported'];a62_0x2821=function(){return _0x120dd7;};return a62_0x2821();}import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';function a62_0x9cf6(_0x2852bd,_0x30bf7f){_0x2852bd=_0x2852bd-0x1e9;const _0x282174=a62_0x2821();let _0x9cf6fd=_0x282174[_0x2852bd];return _0x9cf6fd;}import{toPublicNormalizedServiceTree,toPublicServiceTreeTarget}from'../../commands/service/function-name-adapter.js';const FILE_FLAG={'name':a62_0xba388b(0x211),'type':a62_0xba388b(0x1f8),'required':!![],'description':a62_0xba388b(0x202)},SERVICE_FLAG={'name':'service','type':a62_0xba388b(0x1f8),'required':!![],'description':a62_0xba388b(0x20f),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a62_0xba388b(0x22f)}};function summarizeService(_0x505d92){const _0x48d2f4=a62_0xba388b;return{'serviceCode':_0x505d92[_0x48d2f4(0x209)],'name':_0x505d92[_0x48d2f4(0x215)][_0x48d2f4(0x22e)][_0x48d2f4(0x20d)],'version':_0x505d92[_0x48d2f4(0x1fa)],'importedAt':_0x505d92[_0x48d2f4(0x232)],'source':_0x505d92[_0x48d2f4(0x1eb)],'commandCount':_0x505d92['normalizedManifest'][_0x48d2f4(0x226)]['length'],'commands':_0x505d92['normalizedManifest'][_0x48d2f4(0x226)][_0x48d2f4(0x223)](_0x29cd5a=>({'path':_0x29cd5a[_0x48d2f4(0x200)],'description':_0x29cd5a[_0x48d2f4(0x21a)],'risk':_0x29cd5a[_0x48d2f4(0x21c)],'target':toPublicServiceTreeTarget(_0x29cd5a[_0x48d2f4(0x1f1)]),'flags':_0x29cd5a[_0x48d2f4(0x22d)][_0x48d2f4(0x223)](_0x2efb78=>({'name':_0x2efb78[_0x48d2f4(0x20d)],'cliName':_0x2efb78[_0x48d2f4(0x221)],'type':_0x2efb78[_0x48d2f4(0x1f2)],'required':_0x2efb78['required']===!![]}))}))};}function summarizeLoadedManifest(_0x57d36d){const _0x35d2e6=a62_0xba388b;return{'service':_0x57d36d[_0x35d2e6(0x215)]?.[_0x35d2e6(0x22e)],'version':_0x57d36d[_0x35d2e6(0x215)]?.[_0x35d2e6(0x1fa)],'commandCount':_0x57d36d[_0x35d2e6(0x215)]?.[_0x35d2e6(0x226)][_0x35d2e6(0x212)]??0x0,'commands':_0x57d36d['normalizedManifest']?.['commands'][_0x35d2e6(0x223)](_0x3b6d3d=>({'path':_0x3b6d3d[_0x35d2e6(0x200)],'risk':_0x3b6d3d[_0x35d2e6(0x21c)],'target':toPublicServiceTreeTarget(_0x3b6d3d[_0x35d2e6(0x1f1)])}))??[],'registryIndex':_0x57d36d['registryIndex'],'registryServiceCode':_0x57d36d[_0x35d2e6(0x231)],'errors':_0x57d36d[_0x35d2e6(0x1ef)][_0x35d2e6(0x1f4)],'warnings':_0x57d36d['report'][_0x35d2e6(0x1f3)]};}export const serviceDefinitions=[{'service':a62_0xba388b(0x22e),'command':a62_0xba388b(0x22a),'description':a62_0xba388b(0x220),'risk':a62_0xba388b(0x22b),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x16d622){const _0x1326d7=a62_0xba388b,_0x29140d=loadServiceManifestFromFile(_0x16d622[_0x1326d7(0x20a)]('file'));if(!_0x29140d['report']['ok'])return{'ok':![],'data':{'file':_0x29140d[_0x1326d7(0x1f5)],'hash':_0x29140d['hash'],'kind':_0x29140d[_0x1326d7(0x229)],'serviceCount':_0x29140d[_0x1326d7(0x235)][_0x1326d7(0x212)],'services':_0x29140d['manifests'][_0x1326d7(0x223)](summarizeLoadedManifest),'errors':_0x29140d[_0x1326d7(0x1ef)][_0x1326d7(0x1f4)],'warnings':_0x29140d[_0x1326d7(0x1ef)][_0x1326d7(0x1f3)]},'message':formatValidationFailure(_0x29140d[_0x1326d7(0x1ef)])};if(_0x29140d[_0x1326d7(0x229)]===_0x1326d7(0x1e9)||_0x29140d[_0x1326d7(0x235)][_0x1326d7(0x212)]!==0x1)return{'ok':!![],'data':{'file':_0x29140d[_0x1326d7(0x1f5)],'hash':_0x29140d['hash'],'kind':_0x29140d['kind'],'serviceCount':_0x29140d['manifests'][_0x1326d7(0x212)],'commandCount':_0x29140d[_0x1326d7(0x235)][_0x1326d7(0x20c)]((_0x183eaf,_0x54ec87)=>_0x183eaf+(_0x54ec87['normalizedManifest']?.[_0x1326d7(0x226)]['length']??0x0),0x0),'services':_0x29140d[_0x1326d7(0x235)][_0x1326d7(0x223)](summarizeLoadedManifest),'warnings':_0x29140d['report'][_0x1326d7(0x1f3)]},'message':_0x1326d7(0x203)};return{'ok':!![],'data':{'file':_0x29140d[_0x1326d7(0x1f5)],'hash':_0x29140d['hash'],'kind':_0x29140d[_0x1326d7(0x229)],'service':_0x29140d[_0x1326d7(0x215)]?.[_0x1326d7(0x22e)],'version':_0x29140d[_0x1326d7(0x215)]?.['version'],'commandCount':_0x29140d[_0x1326d7(0x215)]?.['commands'][_0x1326d7(0x212)]??0x0,'commands':_0x29140d[_0x1326d7(0x215)]?.[_0x1326d7(0x226)]['map'](_0x116571=>({'path':_0x116571[_0x1326d7(0x200)],'risk':_0x116571[_0x1326d7(0x21c)],'target':toPublicServiceTreeTarget(_0x116571[_0x1326d7(0x1f1)])})),'warnings':_0x29140d[_0x1326d7(0x1ef)][_0x1326d7(0x1f3)]},'message':_0x1326d7(0x205)};}},{'service':a62_0xba388b(0x22e),'command':'import','description':a62_0xba388b(0x20b),'risk':a62_0xba388b(0x21d),'confirmationDescription':a62_0xba388b(0x21e),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0xde0fb){const _0x45eedb=a62_0xba388b,_0x145430=loadServiceManifestFromFile(_0xde0fb[_0x45eedb(0x20a)](_0x45eedb(0x211)));return{'method':_0x45eedb(0x234),'url':getServiceRegistryPath(),'body':{'file':_0x145430[_0x45eedb(0x1f5)],'hash':_0x145430[_0x45eedb(0x1f7)],'kind':_0x145430['kind'],'ok':_0x145430[_0x45eedb(0x1ef)]['ok'],'service':_0x145430[_0x45eedb(0x215)]?.[_0x45eedb(0x22e)],'version':_0x145430[_0x45eedb(0x215)]?.[_0x45eedb(0x1fa)],'serviceCount':_0x145430[_0x45eedb(0x235)][_0x45eedb(0x212)],'services':_0x145430['manifests']['map'](_0x30e96e=>({'service':_0x30e96e[_0x45eedb(0x215)]?.[_0x45eedb(0x22e)],'version':_0x30e96e[_0x45eedb(0x215)]?.[_0x45eedb(0x1fa)],'commandCount':_0x30e96e[_0x45eedb(0x215)]?.[_0x45eedb(0x226)][_0x45eedb(0x212)]??0x0,'errors':_0x30e96e[_0x45eedb(0x1ef)][_0x45eedb(0x1f4)]})),'errors':_0x145430[_0x45eedb(0x1ef)]['errors'],'commandCount':_0x145430['normalizedManifest']?.[_0x45eedb(0x226)][_0x45eedb(0x212)]??0x0},'description':_0x45eedb(0x201)};},async 'execute'(_0x502e9f){const _0x37fdd7=a62_0xba388b,_0x1b723c=importServiceManifest(_0x502e9f['str'](_0x37fdd7(0x211)));if(_0x1b723c['entries'][_0x37fdd7(0x212)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x1b723c[_0x37fdd7(0x208)],'imported':_0x1b723c[_0x37fdd7(0x210)],'updated':_0x1b723c[_0x37fdd7(0x21f)],'serviceCount':_0x1b723c[_0x37fdd7(0x1f9)],'services':_0x1b723c['entries'][_0x37fdd7(0x223)](summarizeService)},'message':_0x37fdd7(0x230)+_0x1b723c[_0x37fdd7(0x210)]+'\x20service(s),\x20updated\x20'+_0x1b723c['updated']+'\x20service(s).'};return{'ok':!![],'data':{'registryPath':_0x1b723c[_0x37fdd7(0x208)],'replaced':_0x1b723c[_0x37fdd7(0x207)],'imported':_0x1b723c['imported'],'updated':_0x1b723c[_0x37fdd7(0x21f)],'serviceCount':_0x1b723c[_0x37fdd7(0x1f9)],'service':summarizeService(_0x1b723c[_0x37fdd7(0x22c)])},'message':(_0x1b723c[_0x37fdd7(0x207)]?_0x37fdd7(0x218):'Imported')+_0x37fdd7(0x1ff)+_0x1b723c[_0x37fdd7(0x22c)]['serviceCode']+'.'};}},{'service':a62_0xba388b(0x22e),'command':a62_0xba388b(0x20e),'description':a62_0xba388b(0x1ee),'risk':a62_0xba388b(0x21d),'confirmationDescription':a62_0xba388b(0x1f0),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x4144e6){const _0x308289=a62_0xba388b,_0x3add5c=getLocalServiceEntry(_0x4144e6[_0x308289(0x20a)](_0x308289(0x22e)));return{'method':_0x308289(0x234),'url':_0x4144e6[_0x308289(0x20a)](_0x308289(0x211)),'body':{'service':_0x4144e6['str']('service'),'found':Boolean(_0x3add5c),'version':_0x3add5c?.[_0x308289(0x1fa)],'source':_0x3add5c?.[_0x308289(0x1eb)]},'description':_0x308289(0x1fe)};},async 'execute'(_0x1ad5fb){const _0x5f0e60=a62_0xba388b,_0x577db9=exportServiceManifest(_0x1ad5fb[_0x5f0e60(0x20a)]('service'),_0x1ad5fb[_0x5f0e60(0x20a)]('file'));return{'ok':!![],'data':{'registryPath':_0x577db9[_0x5f0e60(0x208)],'file':_0x577db9[_0x5f0e60(0x1f5)],'service':summarizeService(_0x577db9[_0x5f0e60(0x22c)])},'message':'Exported\x20service\x20'+_0x577db9[_0x5f0e60(0x22c)][_0x5f0e60(0x209)]+'.'};}},{'service':a62_0xba388b(0x22e),'command':a62_0xba388b(0x219),'description':a62_0xba388b(0x224),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0xfef007=a62_0xba388b,_0x2a510c=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x2a510c['length'],'services':_0x2a510c[_0xfef007(0x223)](summarizeService)}};}},{'service':a62_0xba388b(0x22e),'command':'remove','description':a62_0xba388b(0x204),'risk':'write','confirmationDescription':a62_0xba388b(0x21b),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x5c2d27){const _0x5a3fb4=a62_0xba388b,_0x550793=getLocalServiceEntry(_0x5c2d27['str'](_0x5a3fb4(0x22e)));return{'method':_0x5a3fb4(0x234),'url':getServiceRegistryPath(),'body':{'service':_0x5c2d27['str'](_0x5a3fb4(0x22e)),'found':Boolean(_0x550793),'version':_0x550793?.[_0x5a3fb4(0x1fa)],'source':_0x550793?.[_0x5a3fb4(0x1eb)]},'description':_0x5a3fb4(0x206)};},async 'execute'(_0x391ace){const _0x302903=a62_0xba388b,_0x532919=removeServiceManifest(_0x391ace[_0x302903(0x20a)](_0x302903(0x22e)));return{'ok':!![],'data':{'registryPath':_0x532919[_0x302903(0x208)],'serviceCount':_0x532919[_0x302903(0x1f9)],'service':summarizeService(_0x532919[_0x302903(0x22c)])},'message':_0x302903(0x217)+_0x532919[_0x302903(0x22c)][_0x302903(0x209)]+'.'};}},{'service':a62_0xba388b(0x22e),'command':a62_0xba388b(0x213),'description':a62_0xba388b(0x1fb),'risk':a62_0xba388b(0x22b),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x2adca6){const _0x166c52=a62_0xba388b,_0x30ce29=getLocalServiceEntry(_0x2adca6['str']('service'));if(!_0x30ce29)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x2adca6[_0x166c52(0x20a)]('service')},'message':'Local\x20service\x20not\x20found:\x20'+_0x2adca6[_0x166c52(0x20a)](_0x166c52(0x22e))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x30ce29),'manifest':_0x30ce29[_0x166c52(0x233)],'normalizedManifest':toPublicNormalizedServiceTree(_0x30ce29[_0x166c52(0x215)])}};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a63_0x3a661e=a63_0x5803;(function(_0x4806c6,_0x18b180){const _0xc5f9d7=a63_0x5803,_0x26d128=_0x4806c6();while(!![]){try{const _0x49855e=parseInt(_0xc5f9d7(0x1d3))/0x1*(parseInt(_0xc5f9d7(0x1d0))/0x2)+parseInt(_0xc5f9d7(0x1c0))/0x3+-parseInt(_0xc5f9d7(0x1b0))/0x4*(-parseInt(_0xc5f9d7(0x1dc))/0x5)+-parseInt(_0xc5f9d7(0x1b2))/0x6*(-parseInt(_0xc5f9d7(0x1a3))/0x7)+-parseInt(_0xc5f9d7(0x1a7))/0x8+parseInt(_0xc5f9d7(0x1b8))/0x9+-parseInt(_0xc5f9d7(0x1e8))/0xa*(parseInt(_0xc5f9d7(0x1ba))/0xb);if(_0x49855e===_0x18b180)break;else _0x26d128['push'](_0x26d128['shift']());}catch(_0x24e7b1){_0x26d128['push'](_0x26d128['shift']());}}}(a63_0x5d48,0xa2d91));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';function a63_0x5d48(){const _0x12f0c8=['message','2951487QTpzdy','hex','9889ltKJEZ','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','kind','source','.tmp','sort','3169047ZYXsSX','startsWith','homeDir','length','warnings','Service\x20manifest\x20validation\x20failed:\x0a','empty','utf8','service.json','parse','name','slice','Invalid\x20service\x20manifest\x20JSON:\x20','normalizedManifest','registry','Local\x20service\x20not\x20found:\x20','422FHahnB','missing','schemaVersion','3803KlykFi','service','target','now','stringify','sourceHash','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','services','file','5MNChbi','manifests','validation','CliError','Remove\x20or\x20migrate\x20','homeDirName','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','$.services[','serviceCode','updatedAt','trim','findIndex','10900cHHXwL','invalid','flatMap','path','cliPath','isArray','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','Cannot\x20write\x20service\x20registry:\x20','bff\x20target\x20requires\x20functionName.','join','toISOString','ENOENT','sha256','map','registryIndex','command','manifest','risk','Unsupported\x20service\x20registry\x20schemaVersion:\x20','update','7iEnZVN','Invalid\x20service\x20registry\x20JSON:\x20','localeCompare','description','7885864HGFIYO','code','errors','importedAt','push','version','filePath','commandCount','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','830944zFnYCU','commands','1429242gPnMWU','report','Unsupported\x20schemaVersion:\x20','].manifest','digest'];a63_0x5d48=function(){return _0x12f0c8;};return a63_0x5d48();}import{homedir}from'node:os';import{dirname,resolve}from'node:path';import{normalizeServiceTreeManifest,validateServiceTreeManifest}from'@lovrabet/cli-framework';import{PRODUCT_CONFIG}from'../../constant/product.js';import{CliErrors}from'../../errors.js';import{adaptServiceTreeManifestForLegacyFramework}from'../../commands/service/function-name-adapter.js';export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;export const SERVICE_REGISTRY_FILE_NAME=a63_0x3a661e(0x1c8);export function getServiceRegistryPath(_0x340324={}){const _0x221c0e=a63_0x3a661e;return resolve(_0x340324[_0x221c0e(0x1c2)]??homedir(),PRODUCT_CONFIG[_0x221c0e(0x1e1)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x225be8={}){const _0x4c7815=a63_0x3a661e,_0x583b6d=getServiceRegistryPath(_0x225be8);if(!existsSync(_0x583b6d))return emptyServiceRegistry();try{const _0x2e3d0a=readFileSync(_0x583b6d,_0x4c7815(0x1c7));if(!_0x2e3d0a['trim']())return emptyServiceRegistry();const _0x4e7b5a=JSON['parse'](_0x2e3d0a);if(_0x4e7b5a[_0x4c7815(0x1d2)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x4c7815(0x1de)](_0x4c7815(0x1a1)+String(_0x4e7b5a[_0x4c7815(0x1d2)]),_0x4c7815(0x1e0)+_0x583b6d+'.');if(!Array[_0x4c7815(0x194)](_0x4e7b5a[_0x4c7815(0x1da)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x4e7b5a[_0x4c7815(0x1e5)],'services':_0x4e7b5a[_0x4c7815(0x1da)]};}catch(_0x24c61a){if(_0x24c61a instanceof Error&&_0x24c61a[_0x4c7815(0x1ca)]===_0x4c7815(0x1df))throw _0x24c61a;throw CliErrors[_0x4c7815(0x1de)](_0x4c7815(0x1a4)+_0x583b6d,_0x4c7815(0x195));}}export function writeServiceRegistry(_0x53db6c,_0x1bbc98={}){const _0x684a78=a63_0x3a661e,_0x484e59=getServiceRegistryPath(_0x1bbc98),_0xa0110d=dirname(_0x484e59);!existsSync(_0xa0110d)&&mkdirSync(_0xa0110d,{'recursive':!![]});const _0x3be417=_0x484e59+_0x684a78(0x1be);try{writeFileSync(_0x3be417,JSON[_0x684a78(0x1d7)](_0x53db6c,null,0x2)+'\x0a',{'encoding':_0x684a78(0x1c7),'mode':0x180}),renameSync(_0x3be417,_0x484e59);}catch(_0x284482){try{unlinkSync(_0x3be417);}catch{}if(_0x284482?.['code']===_0x684a78(0x19a))throw CliErrors[_0x684a78(0x1de)](_0x684a78(0x196)+_0x484e59);throw _0x284482;}return _0x484e59;}export function loadServiceManifestFromFile(_0xe0ca2d){const _0x36860f=a63_0x3a661e,_0x3b9de7=resolve(_0xe0ca2d);if(!existsSync(_0x3b9de7))throw CliErrors[_0x36860f(0x1de)]('Service\x20manifest\x20file\x20not\x20found:\x20'+_0xe0ca2d);let _0x291caf;const _0x3ad6a2=readFileSync(_0x3b9de7,_0x36860f(0x1c7));try{_0x291caf=JSON[_0x36860f(0x1c9)](_0x3ad6a2);}catch{throw CliErrors['validation'](_0x36860f(0x1cc)+_0xe0ca2d,_0x36860f(0x1af));}const _0x21db2d=sha256(_0x3ad6a2),_0x2a02ce=extractLoadedServiceManifests(_0x291caf,_0x21db2d),_0x366285=aggregateValidationReports(_0x2a02ce),_0x57cbe8=_0x2a02ce[0x0];return{'filePath':_0x3b9de7,'hash':_0x21db2d,'kind':isServiceRegistryLike(_0x291caf)?_0x36860f(0x1ce):'manifest','manifest':_0x57cbe8?.['manifest']??_0x291caf,'report':_0x366285,'normalizedManifest':_0x2a02ce[_0x36860f(0x1c3)]===0x1?_0x57cbe8?.['normalizedManifest']:undefined,'manifests':_0x2a02ce};}export function importServiceManifest(_0x36213e,_0x4ae059={}){const _0x1a43af=a63_0x3a661e,_0x44dc60=loadServiceManifestFromFile(_0x36213e);if(!_0x44dc60[_0x1a43af(0x1b3)]['ok'])throw CliErrors[_0x1a43af(0x1de)](formatValidationFailure(_0x44dc60[_0x1a43af(0x1b3)]),'Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.');if(_0x44dc60[_0x1a43af(0x1dd)][_0x1a43af(0x1c3)]===0x0)throw CliErrors[_0x1a43af(0x1de)](_0x1a43af(0x1d9),_0x1a43af(0x1bb));const _0xb1927d=readServiceRegistry(_0x4ae059),_0x208224=(_0x4ae059[_0x1a43af(0x1d6)]??(()=>new Date()))()[_0x1a43af(0x199)](),_0x5bb51c=[];let _0x18283f=0x0,_0xb9b6aa=0x0;for(const _0x249879 of _0x44dc60['manifests']){if(!_0x249879['normalizedManifest'])continue;const _0x200a14=_0x249879[_0x1a43af(0x1cd)]['service'][_0x1a43af(0x1a8)],_0x24ed25={'serviceCode':_0x200a14,'version':_0x249879[_0x1a43af(0x1cd)][_0x1a43af(0x1ac)],'importedAt':_0x208224,'source':{'type':_0x1a43af(0x1db),'path':_0x44dc60[_0x1a43af(0x1ad)],'hash':_0x249879[_0x1a43af(0x1d8)]},'manifest':_0x249879[_0x1a43af(0x19f)],'normalizedManifest':_0x249879[_0x1a43af(0x1cd)]},_0x22ff21=_0xb1927d[_0x1a43af(0x1da)][_0x1a43af(0x1e7)](_0x3e7851=>_0x3e7851[_0x1a43af(0x1e4)]===_0x200a14);_0x22ff21>=0x0?(_0xb1927d[_0x1a43af(0x1da)][_0x22ff21]=_0x24ed25,_0xb9b6aa++):(_0xb1927d[_0x1a43af(0x1da)][_0x1a43af(0x1ab)](_0x24ed25),_0x18283f++),_0x5bb51c['push'](_0x24ed25);}_0xb1927d[_0x1a43af(0x1da)][_0x1a43af(0x1bf)]((_0xeed1f7,_0xc75427)=>_0xeed1f7[_0x1a43af(0x1e4)][_0x1a43af(0x1a5)](_0xc75427[_0x1a43af(0x1e4)])),_0xb1927d['updatedAt']=_0x208224;const _0x1e1a8e=writeServiceRegistry(_0xb1927d,_0x4ae059);return{'registryPath':_0x1e1a8e,'entry':_0x5bb51c[0x0],'replaced':_0x5bb51c[_0x1a43af(0x1c3)]===0x1?_0xb9b6aa===0x1:_0xb9b6aa>0x0,'entries':_0x5bb51c,'imported':_0x18283f,'updated':_0xb9b6aa,'serviceCount':_0xb1927d[_0x1a43af(0x1da)][_0x1a43af(0x1c3)]};}export function exportServiceManifest(_0x1566de,_0x4ea399,_0x187f2f={}){const _0x38c7fe=a63_0x3a661e,_0x18f1ef=getServiceRegistryPath(_0x187f2f),_0xe2dbef=getLocalServiceEntry(_0x1566de,_0x187f2f);if(!_0xe2dbef)throw CliErrors['validation'](_0x38c7fe(0x1cf)+_0x1566de,_0x38c7fe(0x1e2));const _0x50daa6=resolve(_0x4ea399),_0x223889=dirname(_0x50daa6);return!existsSync(_0x223889)&&mkdirSync(_0x223889,{'recursive':!![]}),writeFileSync(_0x50daa6,JSON[_0x38c7fe(0x1d7)](_0xe2dbef[_0x38c7fe(0x19f)],null,0x2)+'\x0a',{'encoding':'utf8','mode':0x180}),{'registryPath':_0x18f1ef,'filePath':_0x50daa6,'entry':_0xe2dbef};}export function removeServiceManifest(_0x11294c,_0x595e28={}){const _0x3a9d9a=a63_0x3a661e,_0x2ee341=readServiceRegistry(_0x595e28),_0x338d9f=_0x11294c[_0x3a9d9a(0x1e6)](),_0x1b7165=_0x2ee341['services'][_0x3a9d9a(0x1e7)](_0x3b755e=>_0x3b755e[_0x3a9d9a(0x1e4)]===_0x338d9f);if(_0x1b7165<0x0)throw CliErrors[_0x3a9d9a(0x1de)](_0x3a9d9a(0x1cf)+_0x338d9f,_0x3a9d9a(0x1e2));const [_0x2ef0ce]=_0x2ee341['services']['splice'](_0x1b7165,0x1),_0x15446b=(_0x595e28[_0x3a9d9a(0x1d6)]??(()=>new Date()))()[_0x3a9d9a(0x199)]();_0x2ee341['updatedAt']=_0x15446b;const _0x7b761f=writeServiceRegistry(_0x2ee341,_0x595e28);return{'registryPath':_0x7b761f,'entry':_0x2ef0ce,'serviceCount':_0x2ee341[_0x3a9d9a(0x1da)][_0x3a9d9a(0x1c3)]};}export function listLocalServices(_0x33bbc2={}){const _0xbe6e1a=a63_0x3a661e;return readServiceRegistry(_0x33bbc2)[_0xbe6e1a(0x1da)];}export function getLocalServiceEntry(_0x12180a,_0x1026ad={}){const _0x33b1b8=a63_0x3a661e;return readServiceRegistry(_0x1026ad)['services']['find'](_0xd5307a=>_0xd5307a[_0x33b1b8(0x1e4)]===_0x12180a[_0x33b1b8(0x1e6)]());}export function listLocalServiceTrees(_0x1e6ac6={}){const _0x2e0ea2=a63_0x3a661e;return readServiceRegistry(_0x1e6ac6)[_0x2e0ea2(0x1da)]['map'](_0x48c1b3=>_0x48c1b3[_0x2e0ea2(0x1cd)]);}export function inspectServiceRegistry(_0x178a86={}){const _0x3048b5=a63_0x3a661e,_0xb2fc41=getServiceRegistryPath(_0x178a86);if(!existsSync(_0xb2fc41))return emptyServiceRegistryInspection(_0xb2fc41,_0x3048b5(0x1d1),![]);try{const _0x4628bf=readFileSync(_0xb2fc41,_0x3048b5(0x1c7));if(!_0x4628bf['trim']())return emptyServiceRegistryInspection(_0xb2fc41,_0x3048b5(0x1c6),!![]);const _0x1e3373=JSON[_0x3048b5(0x1c9)](_0x4628bf);if(_0x1e3373[_0x3048b5(0x1d2)]!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0xb2fc41,'invalid',!![]),'schemaVersion':_0x1e3373['schemaVersion'],'message':_0x3048b5(0x1b4)+String(_0x1e3373[_0x3048b5(0x1d2)])};if(!Array['isArray'](_0x1e3373[_0x3048b5(0x1da)]))return{...emptyServiceRegistryInspection(_0xb2fc41,_0x3048b5(0x190),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x1e3373[_0x3048b5(0x1e5)],'message':'services\x20must\x20be\x20an\x20array'};const _0x2c833f=_0x1e3373['services'][_0x3048b5(0x19c)](summarizeLocalServiceEntry);return{'registryPath':_0xb2fc41,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x1e3373[_0x3048b5(0x1e5)],'serviceCount':_0x2c833f[_0x3048b5(0x1c3)],'commandCount':_0x2c833f['reduce']((_0x5ab634,_0x2e6cf8)=>_0x5ab634+_0x2e6cf8[_0x3048b5(0x1ae)],0x0),'services':_0x2c833f};}catch(_0x5cb173){return{...emptyServiceRegistryInspection(_0xb2fc41,_0x3048b5(0x190),!![]),'message':_0x5cb173 instanceof Error?_0x5cb173[_0x3048b5(0x1b7)]:String(_0x5cb173)};}}export function formatValidationFailure(_0x3663f8){const _0x5048d9=a63_0x3a661e,_0x52e457=_0x3663f8[_0x5048d9(0x1a9)][_0x5048d9(0x19c)](_0x490bbf=>_0x490bbf[_0x5048d9(0x192)]+':\x20'+_0x490bbf['message']);return _0x5048d9(0x1c5)+_0x52e457[_0x5048d9(0x198)]('\x0a');}function extractLoadedServiceManifests(_0x84fba0,_0x137590){const _0x5117e4=a63_0x3a661e;if(!isServiceRegistryLike(_0x84fba0)){const _0x12a395=_0x84fba0,{manifest:_0x7d03d7,errors:_0x35108d}=adaptServiceTreeManifestForLegacyFramework(_0x12a395),_0x367ac4=validateServiceTreeManifest(_0x7d03d7),_0xe2d24a=mergeValidationErrors(_0x367ac4,_0x35108d);return[{'manifest':_0x12a395,'report':_0xe2d24a,'normalizedManifest':_0xe2d24a['ok']?normalizeServiceTreeManifest(_0x7d03d7):undefined,'sourceHash':_0x137590}];}return _0x84fba0[_0x5117e4(0x1da)][_0x5117e4(0x19c)]((_0xc97930,_0xb4519f)=>{const _0x193555=_0x5117e4,_0x12629f=isObjectRecord(_0xc97930)?_0xc97930[_0x193555(0x19f)]:undefined,{manifest:_0x38dff2,errors:_0x437937}=adaptServiceTreeManifestForLegacyFramework(_0x12629f),_0x3c89bf=validateServiceTreeManifest(_0x38dff2),_0x21f2ae=mergeValidationErrors(_0x3c89bf,_0x437937),_0x5dfc60=isObjectRecord(_0xc97930)&&typeof _0xc97930[_0x193555(0x1e4)]==='string'?_0xc97930['serviceCode']:undefined;return{'manifest':_0x12629f,'report':_0x21f2ae,'normalizedManifest':_0x21f2ae['ok']?normalizeServiceTreeManifest(_0x38dff2):undefined,'sourceHash':sha256(JSON['stringify'](_0x12629f,null,0x2)+'\x0a'),'registryIndex':_0xb4519f,'registryServiceCode':_0x5dfc60};});}function mergeValidationErrors(_0x209035,_0x4cab47){const _0x1c9372=a63_0x3a661e,_0x244cda=_0x209035['errors'][_0x1c9372(0x19c)](_0x4c7ab5=>_0x4c7ab5[_0x1c9372(0x1b7)]==='bff\x20target\x20requires\x20bffCode,\x20bffId,\x20or\x20scriptName.'?{..._0x4c7ab5,'message':_0x1c9372(0x197)}:_0x4c7ab5),_0x33f41f=[..._0x4cab47,..._0x244cda];return{'ok':_0x33f41f[_0x1c9372(0x1c3)]===0x0,'errors':_0x33f41f,'warnings':_0x209035['warnings']};}function aggregateValidationReports(_0x2f87d4){const _0x3b56a6=a63_0x3a661e,_0x22d112=_0x2f87d4[_0x3b56a6(0x191)](_0x44f552=>_0x44f552[_0x3b56a6(0x19d)]===undefined?_0x44f552[_0x3b56a6(0x1b3)][_0x3b56a6(0x1a9)]:_0x44f552['report'][_0x3b56a6(0x1a9)][_0x3b56a6(0x19c)](_0x97e8e3=>({..._0x97e8e3,'path':prefixRegistryIssuePath(_0x44f552['registryIndex'],_0x97e8e3[_0x3b56a6(0x192)])}))),_0x3f4bd1=_0x2f87d4['flatMap'](_0x5d28d0=>_0x5d28d0[_0x3b56a6(0x19d)]===undefined?_0x5d28d0[_0x3b56a6(0x1b3)][_0x3b56a6(0x1c4)]:_0x5d28d0['report'][_0x3b56a6(0x1c4)]['map'](_0x4fb628=>({..._0x4fb628,'path':prefixRegistryIssuePath(_0x5d28d0[_0x3b56a6(0x19d)],_0x4fb628[_0x3b56a6(0x192)])})));return{'ok':_0x22d112[_0x3b56a6(0x1c3)]===0x0,'errors':_0x22d112,'warnings':_0x3f4bd1};}function prefixRegistryIssuePath(_0x2df47e,_0x2800eb){const _0x117af1=a63_0x3a661e;if(_0x2800eb==='$')return'$.services['+_0x2df47e+_0x117af1(0x1b5);if(_0x2800eb[_0x117af1(0x1c1)]('$.'))return'$.services['+_0x2df47e+'].manifest'+_0x2800eb['slice'](0x1);if(_0x2800eb['startsWith']('$['))return _0x117af1(0x1e3)+_0x2df47e+_0x117af1(0x1b5)+_0x2800eb[_0x117af1(0x1cb)](0x1);return _0x117af1(0x1e3)+_0x2df47e+'].manifest.'+_0x2800eb;}function isServiceRegistryLike(_0x94bbf1){const _0x4d77e1=a63_0x3a661e;return isObjectRecord(_0x94bbf1)&&_0x94bbf1[_0x4d77e1(0x1d2)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x4d77e1(0x194)](_0x94bbf1[_0x4d77e1(0x1da)]);}function isObjectRecord(_0x59fe0d){const _0x5c134a=a63_0x3a661e;return Boolean(_0x59fe0d)&&typeof _0x59fe0d==='object'&&!Array[_0x5c134a(0x194)](_0x59fe0d);}function a63_0x5803(_0x212977,_0x3ac00e){_0x212977=_0x212977-0x190;const _0x5d481f=a63_0x5d48();let _0x58032d=_0x5d481f[_0x212977];return _0x58032d;}function emptyServiceRegistryInspection(_0x4ae7bb,_0x225d81,_0x48f64e){return{'registryPath':_0x4ae7bb,'exists':_0x48f64e,'status':_0x225d81,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x171907){const _0x363451=a63_0x3a661e,_0xec2bb9=_0x171907[_0x363451(0x1cd)],_0x2b2a80=_0xec2bb9[_0x363451(0x1b1)][_0x363451(0x19c)](_0x1c9a4c=>({'path':_0x1c9a4c[_0x363451(0x193)],'description':_0x1c9a4c[_0x363451(0x1a6)],'risk':_0x1c9a4c[_0x363451(0x1a0)],'targetKind':_0x1c9a4c['target'][_0x363451(0x1bc)],'targetCommand':_0x1c9a4c[_0x363451(0x1d5)][_0x363451(0x19e)]}));return{'serviceCode':_0x171907[_0x363451(0x1e4)],'name':_0xec2bb9[_0x363451(0x1d4)][_0x363451(0x1ca)],'description':_0xec2bb9[_0x363451(0x1d4)][_0x363451(0x1a6)],'version':_0x171907[_0x363451(0x1ac)],'importedAt':_0x171907[_0x363451(0x1aa)],'source':_0x171907[_0x363451(0x1bd)],'commandCount':_0x2b2a80['length'],'commands':_0x2b2a80};}function sha256(_0x2a03f3){const _0x573e2c=a63_0x3a661e;return createHash(_0x573e2c(0x19b))[_0x573e2c(0x1a2)](_0x2a03f3)[_0x573e2c(0x1b6)](_0x573e2c(0x1b9));}
|
|
1
|
+
(function(_0x6a205c,_0x1be0fe){const _0x4a0000=a63_0x3d1e,_0x54d3fd=_0x6a205c();while(!![]){try{const _0x3cb2bb=parseInt(_0x4a0000(0x1a4))/0x1+-parseInt(_0x4a0000(0x1f7))/0x2+parseInt(_0x4a0000(0x1b2))/0x3*(parseInt(_0x4a0000(0x1c4))/0x4)+parseInt(_0x4a0000(0x1b5))/0x5+-parseInt(_0x4a0000(0x1c6))/0x6*(parseInt(_0x4a0000(0x1d8))/0x7)+-parseInt(_0x4a0000(0x1a9))/0x8+parseInt(_0x4a0000(0x1ae))/0x9*(parseInt(_0x4a0000(0x1f1))/0xa);if(_0x3cb2bb===_0x1be0fe)break;else _0x54d3fd['push'](_0x54d3fd['shift']());}catch(_0x44b236){_0x54d3fd['push'](_0x54d3fd['shift']());}}}(a63_0x4cc4,0xd4a0c));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{dirname,resolve}from'node:path';import{normalizeServiceTreeManifest,validateServiceTreeManifest}from'@lovrabet/cli-framework';import{PRODUCT_CONFIG}from'../../constant/product.js';import{CliErrors}from'../../errors.js';import{adaptServiceTreeManifestForLegacyFramework}from'../../commands/service/function-name-adapter.js';export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;export const SERVICE_REGISTRY_FILE_NAME='service.json';function a63_0x4cc4(){const _0x5e97f3=['1782905SjPGFY','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','description','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','parse','services\x20must\x20be\x20an\x20array','command','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','Remove\x20or\x20migrate\x20','manifests','length','serviceCode','splice','source','updatedAt','6040372XAyubn','version','79188HVEbMr','bff\x20target\x20requires\x20functionName.','importedAt','Service\x20manifest\x20validation\x20failed:\x0a','sha256','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','].manifest.','path','.tmp','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','service','flatMap','errors','map','code','commands','startsWith','services','658uLHVsb','message','name','validation','].manifest','hex','report','Invalid\x20service\x20manifest\x20JSON:\x20','CliError','string','filePath','bff\x20target\x20requires\x20bffCode,\x20bffId,\x20or\x20scriptName.','Service\x20manifest\x20file\x20not\x20found:\x20','missing','kind','warnings','stringify','push','now','homeDir','Cannot\x20write\x20service\x20registry:\x20','target','findIndex','Unsupported\x20schemaVersion:\x20','invalid','3937420wWtXwe','schemaVersion','join','sort','manifest','sourceHash','1377360IzdfiK','Unsupported\x20service\x20registry\x20schemaVersion:\x20','reduce','slice','empty','update','registryIndex','object','256343ACokcT','cliPath','localeCompare','Local\x20service\x20not\x20found:\x20','$.services[','10332088HjmsKQ','utf8','find','file','normalizedManifest','45WbVpFA','Invalid\x20service\x20registry\x20JSON:\x20','trim','ENOENT','3NoBoZd','toISOString','isArray'];a63_0x4cc4=function(){return _0x5e97f3;};return a63_0x4cc4();}export function getServiceRegistryPath(_0x3d92ee={}){const _0x5ef5a5=a63_0x3d1e;return resolve(_0x3d92ee[_0x5ef5a5(0x1eb)]??homedir(),PRODUCT_CONFIG['homeDirName'],SERVICE_REGISTRY_FILE_NAME);}function a63_0x3d1e(_0x1ecb44,_0x23043b){_0x1ecb44=_0x1ecb44-0x19d;const _0x4cc4a4=a63_0x4cc4();let _0x3d1edf=_0x4cc4a4[_0x1ecb44];return _0x3d1edf;}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x3e5525={}){const _0x503d93=a63_0x3d1e,_0x2ba3bb=getServiceRegistryPath(_0x3e5525);if(!existsSync(_0x2ba3bb))return emptyServiceRegistry();try{const _0x325447=readFileSync(_0x2ba3bb,_0x503d93(0x1aa));if(!_0x325447[_0x503d93(0x1b0)]())return emptyServiceRegistry();const _0x381d66=JSON['parse'](_0x325447);if(_0x381d66[_0x503d93(0x1f2)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x503d93(0x1db)](_0x503d93(0x19d)+String(_0x381d66[_0x503d93(0x1f2)]),_0x503d93(0x1bd)+_0x2ba3bb+'.');if(!Array[_0x503d93(0x1b4)](_0x381d66[_0x503d93(0x1d7)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x381d66[_0x503d93(0x1c3)],'services':_0x381d66[_0x503d93(0x1d7)]};}catch(_0xd7f4a3){if(_0xd7f4a3 instanceof Error&&_0xd7f4a3[_0x503d93(0x1da)]===_0x503d93(0x1e0))throw _0xd7f4a3;throw CliErrors[_0x503d93(0x1db)](_0x503d93(0x1af)+_0x2ba3bb,_0x503d93(0x1bc));}}export function writeServiceRegistry(_0x518bdc,_0x1e5295={}){const _0x2dcaa5=a63_0x3d1e,_0x5c27ab=getServiceRegistryPath(_0x1e5295),_0x1114ac=dirname(_0x5c27ab);!existsSync(_0x1114ac)&&mkdirSync(_0x1114ac,{'recursive':!![]});const _0x1eee40=_0x5c27ab+_0x2dcaa5(0x1ce);try{writeFileSync(_0x1eee40,JSON[_0x2dcaa5(0x1e8)](_0x518bdc,null,0x2)+'\x0a',{'encoding':_0x2dcaa5(0x1aa),'mode':0x180}),renameSync(_0x1eee40,_0x5c27ab);}catch(_0x7f2c47){try{unlinkSync(_0x1eee40);}catch{}if(_0x7f2c47?.[_0x2dcaa5(0x1d4)]===_0x2dcaa5(0x1b1))throw CliErrors[_0x2dcaa5(0x1db)](_0x2dcaa5(0x1ec)+_0x5c27ab);throw _0x7f2c47;}return _0x5c27ab;}export function loadServiceManifestFromFile(_0x1c82d7){const _0x223a6b=a63_0x3d1e,_0x4d4a0e=resolve(_0x1c82d7);if(!existsSync(_0x4d4a0e))throw CliErrors['validation'](_0x223a6b(0x1e4)+_0x1c82d7);let _0x4b3346;const _0x5d6cc3=readFileSync(_0x4d4a0e,_0x223a6b(0x1aa));try{_0x4b3346=JSON[_0x223a6b(0x1b9)](_0x5d6cc3);}catch{throw CliErrors[_0x223a6b(0x1db)](_0x223a6b(0x1df)+_0x1c82d7,_0x223a6b(0x1cf));}const _0x214719=sha256(_0x5d6cc3),_0x1d6326=extractLoadedServiceManifests(_0x4b3346,_0x214719),_0x3fcd3a=aggregateValidationReports(_0x1d6326),_0x3e9da5=_0x1d6326[0x0];return{'filePath':_0x4d4a0e,'hash':_0x214719,'kind':isServiceRegistryLike(_0x4b3346)?'registry':'manifest','manifest':_0x3e9da5?.[_0x223a6b(0x1f5)]??_0x4b3346,'report':_0x3fcd3a,'normalizedManifest':_0x1d6326[_0x223a6b(0x1bf)]===0x1?_0x3e9da5?.[_0x223a6b(0x1ad)]:undefined,'manifests':_0x1d6326};}export function importServiceManifest(_0x5c1d63,_0x3b6cbc={}){const _0x546929=a63_0x3d1e,_0x574826=loadServiceManifestFromFile(_0x5c1d63);if(!_0x574826[_0x546929(0x1de)]['ok'])throw CliErrors[_0x546929(0x1db)](formatValidationFailure(_0x574826[_0x546929(0x1de)]),_0x546929(0x1b8));if(_0x574826[_0x546929(0x1be)][_0x546929(0x1bf)]===0x0)throw CliErrors[_0x546929(0x1db)]('Service\x20registry\x20has\x20no\x20services\x20to\x20import.',_0x546929(0x1cb));const _0x4c6c01=readServiceRegistry(_0x3b6cbc),_0x355580=(_0x3b6cbc[_0x546929(0x1ea)]??(()=>new Date()))()[_0x546929(0x1b3)](),_0x44de96=[];let _0x38da2a=0x0,_0x4d28c3=0x0;for(const _0x1b6ca4 of _0x574826[_0x546929(0x1be)]){if(!_0x1b6ca4[_0x546929(0x1ad)])continue;const _0x3e307c=_0x1b6ca4[_0x546929(0x1ad)][_0x546929(0x1d0)][_0x546929(0x1d4)],_0x5abec6={'serviceCode':_0x3e307c,'version':_0x1b6ca4['normalizedManifest'][_0x546929(0x1c5)],'importedAt':_0x355580,'source':{'type':_0x546929(0x1ac),'path':_0x574826[_0x546929(0x1e2)],'hash':_0x1b6ca4[_0x546929(0x1f6)]},'manifest':_0x1b6ca4[_0x546929(0x1f5)],'normalizedManifest':_0x1b6ca4['normalizedManifest']},_0x2ef65c=_0x4c6c01[_0x546929(0x1d7)]['findIndex'](_0x1ecd58=>_0x1ecd58[_0x546929(0x1c0)]===_0x3e307c);_0x2ef65c>=0x0?(_0x4c6c01['services'][_0x2ef65c]=_0x5abec6,_0x4d28c3++):(_0x4c6c01[_0x546929(0x1d7)][_0x546929(0x1e9)](_0x5abec6),_0x38da2a++),_0x44de96['push'](_0x5abec6);}_0x4c6c01[_0x546929(0x1d7)][_0x546929(0x1f4)]((_0x5ce57e,_0x1d5d60)=>_0x5ce57e['serviceCode'][_0x546929(0x1a6)](_0x1d5d60[_0x546929(0x1c0)])),_0x4c6c01['updatedAt']=_0x355580;const _0x4dcb2c=writeServiceRegistry(_0x4c6c01,_0x3b6cbc);return{'registryPath':_0x4dcb2c,'entry':_0x44de96[0x0],'replaced':_0x44de96[_0x546929(0x1bf)]===0x1?_0x4d28c3===0x1:_0x4d28c3>0x0,'entries':_0x44de96,'imported':_0x38da2a,'updated':_0x4d28c3,'serviceCount':_0x4c6c01[_0x546929(0x1d7)]['length']};}export function exportServiceManifest(_0x465608,_0x53107a,_0x55406c={}){const _0x4df261=a63_0x3d1e,_0x4dd956=getServiceRegistryPath(_0x55406c),_0x2a8629=getLocalServiceEntry(_0x465608,_0x55406c);if(!_0x2a8629)throw CliErrors[_0x4df261(0x1db)](_0x4df261(0x1a7)+_0x465608,_0x4df261(0x1b6));const _0x547170=resolve(_0x53107a),_0x45a9d9=dirname(_0x547170);return!existsSync(_0x45a9d9)&&mkdirSync(_0x45a9d9,{'recursive':!![]}),writeFileSync(_0x547170,JSON['stringify'](_0x2a8629[_0x4df261(0x1f5)],null,0x2)+'\x0a',{'encoding':_0x4df261(0x1aa),'mode':0x180}),{'registryPath':_0x4dd956,'filePath':_0x547170,'entry':_0x2a8629};}export function removeServiceManifest(_0x403dbc,_0x372d6c={}){const _0x5a02e2=a63_0x3d1e,_0x3c0118=readServiceRegistry(_0x372d6c),_0x4d5fe9=_0x403dbc[_0x5a02e2(0x1b0)](),_0x589540=_0x3c0118[_0x5a02e2(0x1d7)][_0x5a02e2(0x1ee)](_0x47524a=>_0x47524a[_0x5a02e2(0x1c0)]===_0x4d5fe9);if(_0x589540<0x0)throw CliErrors[_0x5a02e2(0x1db)](_0x5a02e2(0x1a7)+_0x4d5fe9,_0x5a02e2(0x1b6));const [_0x29d712]=_0x3c0118[_0x5a02e2(0x1d7)][_0x5a02e2(0x1c1)](_0x589540,0x1),_0x2e3ada=(_0x372d6c['now']??(()=>new Date()))()['toISOString']();_0x3c0118[_0x5a02e2(0x1c3)]=_0x2e3ada;const _0x56859a=writeServiceRegistry(_0x3c0118,_0x372d6c);return{'registryPath':_0x56859a,'entry':_0x29d712,'serviceCount':_0x3c0118['services'][_0x5a02e2(0x1bf)]};}export function listLocalServices(_0x4df3e9={}){return readServiceRegistry(_0x4df3e9)['services'];}export function getLocalServiceEntry(_0x5535f5,_0x4cfae3={}){const _0x55f738=a63_0x3d1e;return readServiceRegistry(_0x4cfae3)[_0x55f738(0x1d7)][_0x55f738(0x1ab)](_0xc8edb1=>_0xc8edb1[_0x55f738(0x1c0)]===_0x5535f5[_0x55f738(0x1b0)]());}export function listLocalServiceTrees(_0xa42bc9={}){const _0x3023ec=a63_0x3d1e;return readServiceRegistry(_0xa42bc9)[_0x3023ec(0x1d7)][_0x3023ec(0x1d3)](_0x450661=>_0x450661[_0x3023ec(0x1ad)]);}export function inspectServiceRegistry(_0x3fd7ed={}){const _0x6038a8=a63_0x3d1e,_0x362250=getServiceRegistryPath(_0x3fd7ed);if(!existsSync(_0x362250))return emptyServiceRegistryInspection(_0x362250,_0x6038a8(0x1e5),![]);try{const _0x46c70c=readFileSync(_0x362250,_0x6038a8(0x1aa));if(!_0x46c70c[_0x6038a8(0x1b0)]())return emptyServiceRegistryInspection(_0x362250,_0x6038a8(0x1a0),!![]);const _0x14428b=JSON['parse'](_0x46c70c);if(_0x14428b['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x362250,_0x6038a8(0x1f0),!![]),'schemaVersion':_0x14428b[_0x6038a8(0x1f2)],'message':_0x6038a8(0x1ef)+String(_0x14428b['schemaVersion'])};if(!Array[_0x6038a8(0x1b4)](_0x14428b['services']))return{...emptyServiceRegistryInspection(_0x362250,_0x6038a8(0x1f0),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x14428b['updatedAt'],'message':_0x6038a8(0x1ba)};const _0x2e2d26=_0x14428b['services'][_0x6038a8(0x1d3)](summarizeLocalServiceEntry);return{'registryPath':_0x362250,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x14428b[_0x6038a8(0x1c3)],'serviceCount':_0x2e2d26[_0x6038a8(0x1bf)],'commandCount':_0x2e2d26[_0x6038a8(0x19e)]((_0x3f7398,_0x45afa2)=>_0x3f7398+_0x45afa2['commandCount'],0x0),'services':_0x2e2d26};}catch(_0x5c6971){return{...emptyServiceRegistryInspection(_0x362250,_0x6038a8(0x1f0),!![]),'message':_0x5c6971 instanceof Error?_0x5c6971[_0x6038a8(0x1d9)]:String(_0x5c6971)};}}export function formatValidationFailure(_0x356e41){const _0x340a76=a63_0x3d1e,_0x3029c7=_0x356e41[_0x340a76(0x1d2)][_0x340a76(0x1d3)](_0x4f832e=>_0x4f832e[_0x340a76(0x1cd)]+':\x20'+_0x4f832e['message']);return _0x340a76(0x1c9)+_0x3029c7[_0x340a76(0x1f3)]('\x0a');}function extractLoadedServiceManifests(_0x47d6fe,_0x3e4908){const _0x29bacd=a63_0x3d1e;if(!isServiceRegistryLike(_0x47d6fe)){const _0x19e3b2=_0x47d6fe,{manifest:_0x461b85,errors:_0x4a8f0c}=adaptServiceTreeManifestForLegacyFramework(_0x19e3b2),_0x24080d=validateServiceTreeManifest(_0x461b85),_0x771057=mergeValidationErrors(_0x24080d,_0x4a8f0c);return[{'manifest':_0x19e3b2,'report':_0x771057,'normalizedManifest':_0x771057['ok']?normalizeServiceTreeManifest(_0x461b85):undefined,'sourceHash':_0x3e4908}];}return _0x47d6fe[_0x29bacd(0x1d7)][_0x29bacd(0x1d3)]((_0x1977c1,_0x5839ce)=>{const _0x5586ca=_0x29bacd,_0x2fda70=isObjectRecord(_0x1977c1)?_0x1977c1[_0x5586ca(0x1f5)]:undefined,{manifest:_0x37796f,errors:_0x49d1df}=adaptServiceTreeManifestForLegacyFramework(_0x2fda70),_0x4ab013=validateServiceTreeManifest(_0x37796f),_0x1df018=mergeValidationErrors(_0x4ab013,_0x49d1df),_0x2a20f4=isObjectRecord(_0x1977c1)&&typeof _0x1977c1['serviceCode']===_0x5586ca(0x1e1)?_0x1977c1[_0x5586ca(0x1c0)]:undefined;return{'manifest':_0x2fda70,'report':_0x1df018,'normalizedManifest':_0x1df018['ok']?normalizeServiceTreeManifest(_0x37796f):undefined,'sourceHash':sha256(JSON[_0x5586ca(0x1e8)](_0x2fda70,null,0x2)+'\x0a'),'registryIndex':_0x5839ce,'registryServiceCode':_0x2a20f4};});}function mergeValidationErrors(_0x3efbc7,_0x95f612){const _0x2bea74=a63_0x3d1e,_0x3a401e=_0x3efbc7[_0x2bea74(0x1d2)][_0x2bea74(0x1d3)](_0x424e05=>_0x424e05[_0x2bea74(0x1d9)]===_0x2bea74(0x1e3)?{..._0x424e05,'message':_0x2bea74(0x1c7)}:_0x424e05),_0x5e22e5=[..._0x95f612,..._0x3a401e];return{'ok':_0x5e22e5[_0x2bea74(0x1bf)]===0x0,'errors':_0x5e22e5,'warnings':_0x3efbc7['warnings']};}function aggregateValidationReports(_0x2e5413){const _0x2ce941=a63_0x3d1e,_0x4b592c=_0x2e5413[_0x2ce941(0x1d1)](_0x160170=>_0x160170[_0x2ce941(0x1a2)]===undefined?_0x160170[_0x2ce941(0x1de)][_0x2ce941(0x1d2)]:_0x160170[_0x2ce941(0x1de)]['errors'][_0x2ce941(0x1d3)](_0x4971a2=>({..._0x4971a2,'path':prefixRegistryIssuePath(_0x160170[_0x2ce941(0x1a2)],_0x4971a2['path'])}))),_0x5e2adc=_0x2e5413[_0x2ce941(0x1d1)](_0x2d6e6c=>_0x2d6e6c[_0x2ce941(0x1a2)]===undefined?_0x2d6e6c['report'][_0x2ce941(0x1e7)]:_0x2d6e6c[_0x2ce941(0x1de)][_0x2ce941(0x1e7)][_0x2ce941(0x1d3)](_0x57b23e=>({..._0x57b23e,'path':prefixRegistryIssuePath(_0x2d6e6c[_0x2ce941(0x1a2)],_0x57b23e[_0x2ce941(0x1cd)])})));return{'ok':_0x4b592c[_0x2ce941(0x1bf)]===0x0,'errors':_0x4b592c,'warnings':_0x5e2adc};}function prefixRegistryIssuePath(_0x2666e0,_0x2e4d5a){const _0xabd49f=a63_0x3d1e;if(_0x2e4d5a==='$')return _0xabd49f(0x1a8)+_0x2666e0+'].manifest';if(_0x2e4d5a[_0xabd49f(0x1d6)]('$.'))return _0xabd49f(0x1a8)+_0x2666e0+_0xabd49f(0x1dc)+_0x2e4d5a[_0xabd49f(0x19f)](0x1);if(_0x2e4d5a[_0xabd49f(0x1d6)]('$['))return _0xabd49f(0x1a8)+_0x2666e0+'].manifest'+_0x2e4d5a['slice'](0x1);return'$.services['+_0x2666e0+_0xabd49f(0x1cc)+_0x2e4d5a;}function isServiceRegistryLike(_0x175987){const _0x1acf9b=a63_0x3d1e;return isObjectRecord(_0x175987)&&_0x175987['schemaVersion']===SERVICE_REGISTRY_SCHEMA_VERSION&&Array['isArray'](_0x175987[_0x1acf9b(0x1d7)]);}function isObjectRecord(_0x85bb00){const _0x4f8e5e=a63_0x3d1e;return Boolean(_0x85bb00)&&typeof _0x85bb00===_0x4f8e5e(0x1a3)&&!Array['isArray'](_0x85bb00);}function emptyServiceRegistryInspection(_0xf87c68,_0x1c7ee0,_0x1e22f0){return{'registryPath':_0xf87c68,'exists':_0x1e22f0,'status':_0x1c7ee0,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x733adc){const _0x2c672e=a63_0x3d1e,_0x3e44a1=_0x733adc['normalizedManifest'],_0x3aebac=_0x3e44a1[_0x2c672e(0x1d5)][_0x2c672e(0x1d3)](_0x40deaa=>({'path':_0x40deaa[_0x2c672e(0x1a5)],'description':_0x40deaa[_0x2c672e(0x1b7)],'risk':_0x40deaa['risk'],'targetKind':_0x40deaa[_0x2c672e(0x1ed)][_0x2c672e(0x1e6)],'targetCommand':_0x40deaa['target'][_0x2c672e(0x1bb)]}));return{'serviceCode':_0x733adc[_0x2c672e(0x1c0)],'name':_0x3e44a1[_0x2c672e(0x1d0)]['name'],'description':_0x3e44a1[_0x2c672e(0x1d0)][_0x2c672e(0x1b7)],'version':_0x733adc['version'],'importedAt':_0x733adc[_0x2c672e(0x1c8)],'source':_0x733adc[_0x2c672e(0x1c2)],'commandCount':_0x3aebac[_0x2c672e(0x1bf)],'commands':_0x3aebac};}function sha256(_0x3e8399){const _0x28a286=a63_0x3d1e;return createHash(_0x28a286(0x1ca))[_0x28a286(0x1a1)](_0x3e8399)['digest'](_0x28a286(0x1dd));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a64_0x1dd959=a64_0x4d86;(function(_0x1e4143,_0x45e8d6){const _0x29bdaa=a64_0x4d86,_0x3da450=_0x1e4143();while(!![]){try{const _0x26631d=-parseInt(_0x29bdaa(0x140))/0x1+parseInt(_0x29bdaa(0x152))/0x2+-parseInt(_0x29bdaa(0x151))/0x3*(-parseInt(_0x29bdaa(0x154))/0x4)+-parseInt(_0x29bdaa(0x14b))/0x5*(parseInt(_0x29bdaa(0x138))/0x6)+parseInt(_0x29bdaa(0x143))/0x7*(parseInt(_0x29bdaa(0x146))/0x8)+parseInt(_0x29bdaa(0x14c))/0x9*(-parseInt(_0x29bdaa(0x14d))/0xa)+parseInt(_0x29bdaa(0x155))/0xb;if(_0x26631d===_0x45e8d6)break;else _0x3da450['push'](_0x3da450['shift']());}catch(_0x4b9758){_0x3da450['push'](_0x3da450['shift']());}}}(a64_0x2783,0xbefc3));import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';function a64_0x2783(){const _0x5eb5bb=['force','7TzGkOF','str','rendered','412896xglSyt','isSymbolicLink','validation','files','Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','5cfbZgt','3411mbMBhx','20210Egprrx','map','skill','WRITE','296358OTtLMV','2851860hmWMAR','trim','56LCOKPU','6365766USQYMu','target','skillName','Skill\x20directory\x20already\x20exists:\x20','8185908xhnsaa','Created\x20local\x20Skill\x20draft\x20','content','type','path','Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20','name','utf8','526700dVLiuz','skillDir'];a64_0x2783=function(){return _0x5eb5bb;};return a64_0x2783();}import{dirname,resolve}from'node:path';import{CliErrors}from'../../../errors.js';import{writeCliSideChannelLine}from'../../../utils/write-cli-side-channel.js';import{CREATE_NAME_FLAG,FORCE_FLAG,TARGET_FLAG,TYPE_FLAG}from'../flags.js';import{DEFAULT_SKILL_TARGET,renderSkillTemplate}from'../templates.js';function a64_0x4d86(_0xc86d0c,_0x2cae2a){_0xc86d0c=_0xc86d0c-0x135;const _0x278389=a64_0x2783();let _0x4d86d2=_0x278389[_0xc86d0c];return _0x4d86d2;}export const createCommand={'service':a64_0x1dd959(0x14f),'command':'create','description':a64_0x1dd959(0x14a),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x16c4ec){const _0x214c49=a64_0x1dd959,_0xde599=buildSkillCreatePlan(_0x16c4ec[_0x214c49(0x144)](_0x214c49(0x13e)),_0x16c4ec[_0x214c49(0x144)](_0x214c49(0x13b)),_0x16c4ec['str'](_0x214c49(0x135)));return{'method':_0x214c49(0x150),'url':_0xde599[_0x214c49(0x141)],'body':{'skillName':_0xde599[_0x214c49(0x145)][_0x214c49(0x136)],'type':_0xde599[_0x214c49(0x145)][_0x214c49(0x13b)],'selfContained':!![],'files':_0xde599[_0x214c49(0x145)][_0x214c49(0x149)][_0x214c49(0x14e)](_0x3bcd43=>_0x3bcd43[_0x214c49(0x13c)])},'description':'Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.'};},async 'execute'(_0x572fdc){const _0xb16e8=a64_0x1dd959,_0x402cdf=buildSkillCreatePlan(_0x572fdc['str'](_0xb16e8(0x13e)),_0x572fdc[_0xb16e8(0x144)](_0xb16e8(0x13b)),_0x572fdc[_0xb16e8(0x144)](_0xb16e8(0x135)));return writeSkillDraft(_0x402cdf,_0x572fdc['bool'](_0xb16e8(0x142))),{'ok':!![],'data':{'skillName':_0x402cdf[_0xb16e8(0x145)]['skillName'],'type':_0x402cdf['rendered'][_0xb16e8(0x13b)],'dir':_0x402cdf[_0xb16e8(0x141)],'files':_0x402cdf[_0xb16e8(0x145)]['files'][_0xb16e8(0x14e)](_0x5df83e=>_0x5df83e[_0xb16e8(0x13c)])},'message':_0xb16e8(0x139)+_0x402cdf[_0xb16e8(0x145)][_0xb16e8(0x136)]};}};function buildSkillCreatePlan(_0x50ebbe,_0x5ff76f,_0x30e2ea){const _0x55643e=a64_0x1dd959,_0x165865=_0x5ff76f[_0x55643e(0x153)](),_0x13561e=renderSkillTemplate({'skillName':_0x50ebbe,'type':_0x165865});!_0x165865&&writeCliSideChannelLine('Omitting\x20--type\x20is\x20deprecated;\x20defaulting\x20to\x20write\x20for\x20compatibility.\x20Pass\x20--type\x20read\x20or\x20--type\x20write\x20explicitly.');const _0x51a3ce=resolve(normalizeSkillTarget(_0x30e2ea));return{'rendered':_0x13561e,'targetRoot':_0x51a3ce,'skillDir':resolve(_0x51a3ce,_0x13561e[_0x55643e(0x136)])};}function normalizeSkillTarget(_0x5760ce){const _0x1a1b3a=a64_0x1dd959;return(_0x5760ce||DEFAULT_SKILL_TARGET)[_0x1a1b3a(0x153)]()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x32bfdf,_0x536462){const _0x40aee8=a64_0x1dd959;if(existsSync(_0x32bfdf['skillDir'])){const _0x19edd8=lstatSync(_0x32bfdf[_0x40aee8(0x141)]);if(!_0x19edd8['isDirectory']()||_0x19edd8[_0x40aee8(0x147)]())throw CliErrors[_0x40aee8(0x148)](_0x40aee8(0x13d)+_0x32bfdf[_0x40aee8(0x141)]);if(!_0x536462)throw CliErrors[_0x40aee8(0x148)](_0x40aee8(0x137)+_0x32bfdf[_0x40aee8(0x141)],'Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.');}for(const _0x39d054 of _0x32bfdf['rendered']['files']){const _0x3b3660=resolve(_0x32bfdf[_0x40aee8(0x141)],_0x39d054[_0x40aee8(0x13c)]),_0x48302f=dirname(_0x3b3660);mkdirSync(_0x48302f,{'recursive':!![]});if(existsSync(_0x3b3660)&&lstatSync(_0x3b3660)['isSymbolicLink']())throw CliErrors[_0x40aee8(0x148)]('Refusing\x20to\x20overwrite\x20symlink:\x20'+_0x3b3660);writeFileSync(_0x3b3660,_0x39d054[_0x40aee8(0x13a)],_0x40aee8(0x13f));}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a65_0x4e7f63=a65_0x4d93;(function(_0x57f2d1,_0x4c2f22){const _0x450913=a65_0x4d93,_0x5a085b=_0x57f2d1();while(!![]){try{const _0x1f3d3c=parseInt(_0x450913(0xac))/0x1+parseInt(_0x450913(0xb9))/0x2+-parseInt(_0x450913(0xb6))/0x3*(parseInt(_0x450913(0xbf))/0x4)+parseInt(_0x450913(0xd0))/0x5+-parseInt(_0x450913(0xcc))/0x6*(-parseInt(_0x450913(0xce))/0x7)+-parseInt(_0x450913(0xb5))/0x8+-parseInt(_0x450913(0xb1))/0x9;if(_0x1f3d3c===_0x4c2f22)break;else _0x5a085b['push'](_0x5a085b['shift']());}catch(_0x201df4){_0x5a085b['push'](_0x5a085b['shift']());}}}(a65_0x5597,0xd2ff2));import{getRuntimeSkillVersionDiagram,putRuntimeSkillVersionDiagram,validateRuntimeSkillVersionDiagram}from'../../../core/api-client.js';function a65_0x4d93(_0x3c9045,_0x1ff990){_0x3c9045=_0x3c9045-0xa9;const _0x559777=a65_0x5597();let _0x4d9358=_0x559777[_0x3c9045];return _0x4d9358;}import{CliErrors}from'../../../errors.js';import{readRequiredSkillDiagram}from'../diagram.js';import{DIAGRAM_FILE_FLAG,DIAGRAM_SCOPE_FLAG,DIAGRAM_SKILL_CODE_FLAG,DIAGRAM_VERSION_FLAG,EXPECTED_DIAGRAM_REVISION_FLAG,SOURCE_FINGERPRINT_FLAG}from'../flags.js';function a65_0x5597(){const _0x4234b1=['unchanged','\x20is\x20unchanged.','232184znvpUH',';\x20first\x20write\x20expects\x20revision\x20','found','expected-diagram-revision','Updated','15269733JLZImY','Creates\x20or\x20replaces\x20a\x20Mermaid\x20diagram\x20for\x20an\x20exact\x20Skill\x20version.\x20The\x20write\x20is\x20rejected\x20if\x20the\x20server\x20version\x20has\x20changed.\x20The\x20confirmation\x20UI\x20does\x20not\x20show\x20the\x20diagram\x20body.','test','isInteger','1790728dPbjBZ','106986fLymAg','Skill\x20diagram\x20validation\x20passed\x20for\x20','diagram-push','2867272GTtWAC','Found\x20Skill\x20diagram\x20for\x20','version','appCode','Validate\x20a\x20Mermaid\x20diagram\x20replacement\x20for\x20one\x20exact\x20Skill\x20version','personal','160SxkJOL','num','Created','source-fingerprint','trim','action','Create\x20or\x20replace\x20a\x20Mermaid\x20diagram\x20for\x20a\x20specific\x20Skill\x20version','validation','No\x20Skill\x20diagram\x20is\x20stored\x20for\x20','diagram-file','str','read','skill-code','6483498ekPfXS','\x20Skill\x20diagram\x20for\x20','7QcnhwL','Skill\x20diagram\x20for\x20','7323985jbEdwS','--skill-code,\x20--version,\x20and\x20--scope\x20personal|company\x20are\x20required.','scope','--expected-diagram-revision\x20must\x20be\x20a\x20non-negative\x20integer.','skillCode','skill','diagram-show','diagram-validate','expectedDiagramRevision'];a65_0x5597=function(){return _0x4234b1;};return a65_0x5597();}const TARGET_FLAGS=[DIAGRAM_SKILL_CODE_FLAG,DIAGRAM_VERSION_FLAG,DIAGRAM_SCOPE_FLAG],WRITE_FLAGS=[...TARGET_FLAGS,SOURCE_FINGERPRINT_FLAG,EXPECTED_DIAGRAM_REVISION_FLAG,DIAGRAM_FILE_FLAG];function readDiagramTarget(_0x1a86a5){const _0x57abc6=a65_0x4d93,_0x2c556a=_0x1a86a5[_0x57abc6(0xc9)](_0x57abc6(0xcb))[_0x57abc6(0xc3)](),_0x286773=_0x1a86a5['str']('version')['trim'](),_0x2e5f60=_0x1a86a5['str']('scope');if(!_0x2c556a||!_0x286773||_0x2e5f60!==_0x57abc6(0xbe)&&_0x2e5f60!=='company')throw CliErrors[_0x57abc6(0xc6)](_0x57abc6(0xd1));return{'skillCode':_0x2c556a,'version':_0x286773,'scope':_0x2e5f60};}async function readDiagramWriteInput(_0x29d64c){const _0x3f5928=a65_0x4d93,_0x1c6db6=_0x29d64c[_0x3f5928(0xc0)](_0x3f5928(0xaf)),_0x4dc775=_0x29d64c[_0x3f5928(0xc9)](_0x3f5928(0xc2))['trim']();if(!Number[_0x3f5928(0xb4)](_0x1c6db6)||_0x1c6db6<0x0)throw CliErrors['validation'](_0x3f5928(0xd3));if(!/^sha256:[0-9a-f]{64}$/[_0x3f5928(0xb3)](_0x4dc775))throw CliErrors[_0x3f5928(0xc6)]('--source-fingerprint\x20must\x20be\x20lowercase\x20sha256:<64\x20hex\x20characters>.');return{'expectedDiagramRevision':_0x1c6db6,'sourceFingerprint':_0x4dc775,'diagram':await readRequiredSkillDiagram(_0x29d64c[_0x3f5928(0xc9)](_0x3f5928(0xc8)))};}export const diagramValidateCommand={'service':'skill','command':a65_0x4e7f63(0xd7),'description':a65_0x4e7f63(0xbd),'risk':a65_0x4e7f63(0xca),'flags':WRITE_FLAGS,async 'execute'(_0xf8ff0b){const _0x3cc208=a65_0x4e7f63,_0x49e28d=readDiagramTarget(_0xf8ff0b),_0x714481=await validateRuntimeSkillVersionDiagram(_0xf8ff0b[_0x3cc208(0xbc)],_0x49e28d[_0x3cc208(0xd4)],_0x49e28d[_0x3cc208(0xbb)],_0x49e28d['scope'],await readDiagramWriteInput(_0xf8ff0b));return{'ok':!![],'data':_0x714481,'message':_0x3cc208(0xb7)+_0x49e28d[_0x3cc208(0xd4)]+'@'+_0x49e28d[_0x3cc208(0xbb)]+'.'};}};export const diagramPushCommand={'service':a65_0x4e7f63(0xd5),'command':a65_0x4e7f63(0xb8),'description':a65_0x4e7f63(0xc5),'risk':'write','confirmationDescription':a65_0x4e7f63(0xb2),'flags':WRITE_FLAGS,async 'execute'(_0x4b60b7){const _0x57a0ba=a65_0x4e7f63,_0xc8262f=readDiagramTarget(_0x4b60b7),_0x59b7c1=await putRuntimeSkillVersionDiagram(_0x4b60b7[_0x57a0ba(0xbc)],_0xc8262f[_0x57a0ba(0xd4)],_0xc8262f[_0x57a0ba(0xbb)],_0xc8262f[_0x57a0ba(0xd2)],await readDiagramWriteInput(_0x4b60b7));return{'ok':!![],'data':_0x59b7c1,'message':_0x59b7c1[_0x57a0ba(0xc4)]===_0x57a0ba(0xaa)?_0x57a0ba(0xcf)+_0xc8262f['skillCode']+'@'+_0xc8262f['version']+_0x57a0ba(0xab):(_0x59b7c1[_0x57a0ba(0xc4)]==='created'?_0x57a0ba(0xc1):_0x57a0ba(0xb0))+_0x57a0ba(0xcd)+_0xc8262f[_0x57a0ba(0xd4)]+'@'+_0xc8262f['version']+'.'};}};export const diagramShowCommand={'service':a65_0x4e7f63(0xd5),'command':a65_0x4e7f63(0xd6),'description':'Show\x20the\x20current\x20Mermaid\x20diagram\x20for\x20one\x20exact\x20Skill\x20version','risk':a65_0x4e7f63(0xca),'flags':TARGET_FLAGS,async 'execute'(_0x223e55){const _0x3589d0=a65_0x4e7f63,_0x2f2612=readDiagramTarget(_0x223e55),_0x32db40=await getRuntimeSkillVersionDiagram(_0x223e55[_0x3589d0(0xbc)],_0x2f2612[_0x3589d0(0xd4)],_0x2f2612[_0x3589d0(0xbb)],_0x2f2612[_0x3589d0(0xd2)]);return{'ok':!![],'data':_0x32db40,'message':_0x32db40[_0x3589d0(0xae)]?_0x3589d0(0xba)+_0x2f2612[_0x3589d0(0xd4)]+'@'+_0x2f2612[_0x3589d0(0xbb)]+';\x20next\x20write\x20expects\x20revision\x20'+_0x32db40['expectedDiagramRevision']+'.':_0x3589d0(0xc7)+_0x2f2612[_0x3589d0(0xd4)]+'@'+_0x2f2612[_0x3589d0(0xbb)]+_0x3589d0(0xad)+_0x32db40[_0x3589d0(0xa9)]+'.'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a66_0x51901c=a66_0x7b35;function a66_0x36bc(){const _0x18c288=['676504TvdyYT','action','all','scope','41308HvocAs','1314360WStGyx','read','includes','51339nJGGpj','authRequired','created','project','company','skillRoots','updated','filter','5nhgjUW','str','\x20company\x20Skill(s).','production','appCode','global','../../../core/api-client.js','unchanged','reduce','3457719JDWFCk','skillCode','394506xTHSBc','envName','14DoMiAm','skipped','trim','force','accessKey','map','version','skill','43212tsHKkl','length','bool','\x20personal\x20and\x20','Installed\x20','code','Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','min','from','personal'];a66_0x36bc=function(){return _0x18c288;};return a66_0x36bc();}(function(_0x3e834b,_0xca701f){const _0x2d419d=a66_0x7b35,_0x364274=_0x3e834b();while(!![]){try{const _0x2d94ed=-parseInt(_0x2d419d(0x165))/0x1+-parseInt(_0x2d419d(0x15b))/0x2+parseInt(_0x2d419d(0x177))/0x3+-parseInt(_0x2d419d(0x173))/0x4*(-parseInt(_0x2d419d(0x17f))/0x5)+-parseInt(_0x2d419d(0x174))/0x6+parseInt(_0x2d419d(0x15d))/0x7*(parseInt(_0x2d419d(0x16f))/0x8)+parseInt(_0x2d419d(0x159))/0x9;if(_0x2d94ed===_0xca701f)break;else _0x364274['push'](_0x364274['shift']());}catch(_0x4b5408){_0x364274['push'](_0x364274['shift']());}}}(a66_0x36bc,0x1d990));import{CliErrors}from'../../../errors.js';import{CODE_FLAG,FORCE_FLAG,PROJECT_TARGET_FLAG,SCOPE_FLAG}from'../flags.js';function a66_0x7b35(_0x46b878,_0x2e4595){_0x46b878=_0x46b878-0x157;const _0x36bca1=a66_0x36bc();let _0x7b350=_0x36bca1[_0x46b878];return _0x7b350;}import{normalizeSyncScopes}from'../scopes.js';import{summarizeRuntimeSkill}from'../summary.js';const PACKAGE_DOWNLOAD_CONCURRENCY=0x4;export const installCommand={'service':a66_0x51901c(0x164),'command':'install','description':a66_0x51901c(0x16b),'risk':a66_0x51901c(0x175),'requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG,FORCE_FLAG,PROJECT_TARGET_FLAG],async 'execute'(_0x47528f){return syncRuntimeSkills(_0x47528f);}};async function syncRuntimeSkills(_0x1ec692){const _0x2a7bae=a66_0x51901c,{downloadRuntimeSkillPackage:_0x11232a,listRuntimeSkills:_0x1d4c10}=await import(_0x2a7bae(0x185)),{linkEffectiveRuntimeSkills:_0x366588,materializeRuntimeSkill:_0x4d88c9,pruneStaleRuntimeSkillCache:_0x885c2b,pruneStaleRuntimeSkillLinks:_0x2ed2ca,resolveRuntimeSkillInstallTarget:_0x14e945,reuseMaterializedRuntimeSkill:_0x2c1c94}=await import('../../../skills/runtime-skill-sync.js'),_0x2b861a=_0x1ec692[_0x2a7bae(0x180)](_0x2a7bae(0x16a)),_0x210883=normalizeSyncScopes(_0x1ec692[_0x2a7bae(0x180)](_0x2a7bae(0x172))),_0x1e5322=_0x1ec692[_0x2a7bae(0x15c)]??_0x2a7bae(0x182),_0x58e51b=_0x1ec692[_0x2a7bae(0x161)],_0x56c9f9=_0x1ec692['bool'](_0x2a7bae(0x160));if(!_0x58e51b)throw CliErrors[_0x2a7bae(0x178)]('Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.');const _0x22069e=_0x14e945(_0x1ec692[_0x2a7bae(0x183)],_0x1ec692[_0x2a7bae(0x167)]('project')?_0x2a7bae(0x17a):'global'),_0x43db7b=_0x14e945(_0x1ec692[_0x2a7bae(0x183)],_0x22069e['scope']==='project'?_0x2a7bae(0x184):_0x2a7bae(0x17a)),_0x526b9c=await _0x1d4c10({'appCode':_0x1ec692['appCode'],'scope':_0x210883['length']===0x1?_0x210883[0x0]:'all','code':_0x2b861a[_0x2a7bae(0x15f)]()||undefined}),_0x49bb15=_0x210883[_0x2a7bae(0x176)](_0x2a7bae(0x16e))?_0x526b9c[_0x2a7bae(0x16e)]:[],_0x453584=_0x210883[_0x2a7bae(0x176)]('company')?_0x526b9c[_0x2a7bae(0x17b)]:[],_0x135c05=new Set([..._0x49bb15[_0x2a7bae(0x162)](_0x14bead=>_0x14bead['skillCode']?.[_0x2a7bae(0x15f)]())[_0x2a7bae(0x17e)](_0x10e27a=>Boolean(_0x10e27a)),..._0x453584[_0x2a7bae(0x162)](_0x39617b=>_0x39617b[_0x2a7bae(0x15a)]?.[_0x2a7bae(0x15f)]())[_0x2a7bae(0x17e)](_0x1108e6=>Boolean(_0x1108e6))]),_0xb18d65=_0x2b861a[_0x2a7bae(0x15f)]()?[_0x2b861a[_0x2a7bae(0x15f)]()]:undefined,_0x2604f0=_0x210883['length']===0x2&&_0x210883[_0x2a7bae(0x176)](_0x2a7bae(0x16e))&&_0x210883[_0x2a7bae(0x176)](_0x2a7bae(0x17b)),_0x1834f8=_0x2604f0?_0x2ed2ca(_0x22069e,_0x135c05,_0xb18d65):[],_0x4cea27=_0x885c2b({'env':_0x1e5322,'accessKey':_0x58e51b,'appCode':_0x1ec692['appCode'],'activeSkillCodes':_0x135c05,'pruneSkillCodes':_0xb18d65,'scopes':_0x210883,'protectedLinkRoots':_0x43db7b['skillRoots']}),_0x4a4689=[..._0x49bb15[_0x2a7bae(0x162)](_0x3b91f2=>({'skill':_0x3b91f2,'scope':_0x2a7bae(0x16e)})),..._0x453584[_0x2a7bae(0x162)](_0x485e59=>({'skill':_0x485e59,'scope':_0x2a7bae(0x17b)}))],_0x42c078=await mapConcurrent(_0x4a4689,PACKAGE_DOWNLOAD_CONCURRENCY,async({skill:_0x2ece82,scope:_0x3311e4})=>{const _0x4b805a=_0x2a7bae,_0x9e45c0=_0x2c1c94(_0x2ece82,_0x3311e4,{'env':_0x1e5322,'accessKey':_0x58e51b,'appCode':_0x1ec692[_0x4b805a(0x183)]});if(_0x9e45c0)return _0x9e45c0;return _0x4d88c9(_0x2ece82,_0x3311e4,{'env':_0x1e5322,'accessKey':_0x58e51b,'appCode':_0x1ec692[_0x4b805a(0x183)],'force':_0x56c9f9,'packageBytes':await downloadSkillPackage(_0x2ece82,_0x3311e4,_0x1ec692[_0x4b805a(0x183)],_0x11232a)});}),_0x53160c=_0x366588(_0x42c078,_0x22069e),_0x1a77cf=countLinkActions(_0x53160c);return{'ok':!![],'data':{'appCode':_0x1ec692[_0x2a7bae(0x183)],..._0x22069e[_0x2a7bae(0x172)]===_0x2a7bae(0x17a)?{'installTarget':{'scope':_0x22069e[_0x2a7bae(0x172)],'skillRoots':[..._0x22069e[_0x2a7bae(0x17c)]]}}:{},'personal':_0x49bb15['length'],'company':_0x453584[_0x2a7bae(0x166)],'materialized':_0x42c078[_0x2a7bae(0x166)],'links':{'total':_0x53160c[_0x2a7bae(0x166)],'created':_0x1a77cf[_0x2a7bae(0x179)]??0x0,'updated':_0x1a77cf[_0x2a7bae(0x17d)]??0x0,'unchanged':_0x1a77cf[_0x2a7bae(0x157)]??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x1834f8[_0x2a7bae(0x17e)](_0x1e360b=>_0x1e360b['action']==='removed')[_0x2a7bae(0x166)],'cacheDirs':_0x4cea27[_0x2a7bae(0x17e)](_0x2fe3c4=>_0x2fe3c4[_0x2a7bae(0x170)]==='removed')[_0x2a7bae(0x166)],'skipped':[..._0x1834f8,..._0x4cea27][_0x2a7bae(0x17e)](_0x1aa84f=>_0x1aa84f['action']===_0x2a7bae(0x15e))[_0x2a7bae(0x166)]},'skills':{'personal':_0x49bb15[_0x2a7bae(0x162)](summarizeRuntimeSkill),'company':_0x453584[_0x2a7bae(0x162)](summarizeRuntimeSkill)}},'message':_0x2a7bae(0x169)+_0x49bb15[_0x2a7bae(0x166)]+_0x2a7bae(0x168)+_0x453584[_0x2a7bae(0x166)]+_0x2a7bae(0x181)};}async function mapConcurrent(_0x45958d,_0x7c9806,_0x5c0e84){const _0x138f9e=a66_0x51901c,_0x592296=new Array(_0x45958d['length']);let _0x545880=0x0;const _0x473886=Array[_0x138f9e(0x16d)]({'length':Math[_0x138f9e(0x16c)](_0x7c9806,_0x45958d[_0x138f9e(0x166)])},async()=>{const _0xfd287=_0x138f9e;while(_0x545880<_0x45958d[_0xfd287(0x166)]){const _0x25e70b=_0x545880;_0x545880+=0x1,_0x592296[_0x25e70b]=await _0x5c0e84(_0x45958d[_0x25e70b]);}});return await Promise[_0x138f9e(0x171)](_0x473886),_0x592296;}async function downloadSkillPackage(_0x46a379,_0x388dbe,_0x93d0b7,_0x1cbe0e){const _0x5ce5ef=a66_0x51901c,_0x519fcc=_0x46a379[_0x5ce5ef(0x163)]?.[_0x5ce5ef(0x15f)]();return _0x519fcc?_0x1cbe0e(_0x388dbe,_0x46a379[_0x5ce5ef(0x15a)],_0x93d0b7,_0x519fcc):_0x1cbe0e(_0x388dbe,_0x46a379['skillCode'],_0x93d0b7);}function countLinkActions(_0x45b878){const _0xa6cf71=a66_0x51901c;return _0x45b878[_0xa6cf71(0x158)]((_0x5b3307,_0x3c3a95)=>{const _0x76e306=_0xa6cf71;return _0x5b3307[_0x3c3a95[_0x76e306(0x170)]]=(_0x5b3307[_0x3c3a95['action']]??0x0)+0x1,_0x5b3307;},{});}
|