@lovrabet/lovrabet-cli 2.3.4-beta.2 → 2.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/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/approval/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/kb-search-client.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/generated/official-routing.js +1 -1
- package/lib/generated/routing-contract.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/positive-safe-integer.js +1 -1
- package/lib/utils/redaction.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
|
-
const
|
|
1
|
+
const a58_0x358bb3=a58_0x4635;(function(_0x2cd9fe,_0x3bf12c){const _0x4c5a5c=a58_0x4635,_0x3072c2=_0x2cd9fe();while(!![]){try{const _0x6892b9=parseInt(_0x4c5a5c(0xde))/0x1*(parseInt(_0x4c5a5c(0xf3))/0x2)+-parseInt(_0x4c5a5c(0xf2))/0x3*(parseInt(_0x4c5a5c(0xe0))/0x4)+-parseInt(_0x4c5a5c(0xed))/0x5*(-parseInt(_0x4c5a5c(0xda))/0x6)+-parseInt(_0x4c5a5c(0xec))/0x7*(parseInt(_0x4c5a5c(0xf4))/0x8)+parseInt(_0x4c5a5c(0xe9))/0x9+-parseInt(_0x4c5a5c(0xf1))/0xa*(-parseInt(_0x4c5a5c(0xdd))/0xb)+-parseInt(_0x4c5a5c(0xf5))/0xc;if(_0x6892b9===_0x3bf12c)break;else _0x3072c2['push'](_0x3072c2['shift']());}catch(_0x45b323){_0x3072c2['push'](_0x3072c2['shift']());}}}(a58_0x3b16,0xb9fc5));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';function a58_0x4635(_0xf9f813,_0x34f15f){_0xf9f813=_0xf9f813-0xd9;const _0x3b16b3=a58_0x3b16();let _0x4635fb=_0x3b16b3[_0xf9f813];return _0x4635fb;}function a58_0x3b16(){const _0x89cfb6=['1067032PcLVrl','18744516Xksuna','/client/permit/user-role/update-user-list','4811226teMbCw','description','POST','48653JjnirY','4RnsqiB','body','556xtulCB','shouldWrite','after','appCode','build','userId','Remove\x20a\x20numeric\x20userId\x20from\x20one\x20runtime\x20role','roleList','high-risk-write','1833948tZxeRV','before','role','49eykjNs','5IZHTNA','user-remove','warnings','Removes\x20the\x20given\x20runtime\x20user\x20from\x20the\x20target\x20role.\x20The\x20user\x20loses\x20permissions\x20granted\x20only\x20by\x20that\x20role.','2890FhPbqE','5289oBulQg','609330QvpjFZ'];a58_0x3b16=function(){return _0x89cfb6;};return a58_0x3b16();}export const roleUserRemove={'service':a58_0x358bb3(0xeb),'command':a58_0x358bb3(0xee),'description':a58_0x358bb3(0xe6),'risk':a58_0x358bb3(0xe8),'confirmationDescription':a58_0x358bb3(0xf0),'flags':[ROLE_REF_FLAG,USER_ID_FLAG,EXPECT_USER_COUNT_FLAG],async 'dryRun'(_0x310b43){const _0x3107ea=a58_0x358bb3,_0x416d43=await prepareRuntimeMemberMutation(_0x310b43,_0x3107ea(0xee));return dryRun(_0x3107ea(0xdc),_0x3107ea(0xd9))[_0x3107ea(0xdf)]({'appCode':_0x310b43[_0x3107ea(0xe3)],'roleList':_0x416d43[_0x3107ea(0xe7)]})[_0x3107ea(0xdb)](_0x416d43['shouldWrite']?'Preview:\x20remove\x20runtime\x20role\x20member':_0x416d43[_0x3107ea(0xef)][0x0])[_0x3107ea(0xe4)]();},async 'execute'(_0x1ba0df){const _0x422858=a58_0x358bb3,_0x3224ee=await prepareRuntimeMemberMutation(_0x1ba0df,_0x422858(0xee));return _0x3224ee[_0x422858(0xe1)]&&await updateRuntimeRoleUsers(_0x1ba0df[_0x422858(0xe3)],_0x3224ee[_0x422858(0xe7)]),{'ok':!![],'data':runtimeRoleWriteResult(_0x422858(0xee),{'roleId':_0x3224ee[_0x422858(0xeb)]['id'],'userId':_0x3224ee[_0x422858(0xe5)]},_0x3224ee[_0x422858(0xea)],_0x3224ee[_0x422858(0xe2)],{'method':_0x422858(0xdc),'path':_0x422858(0xd9)},_0x3224ee['warnings'])};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a59_0x16d7(){const _0x3353f0=['num','132871ryeqYt','isSafeInteger','Show\x20one\x20schedule\x20by\x20schedule\x20ID','Create\x20a\x20recurring\x20or\x20one-shot\x20Agent\x20schedule','body','Permanently\x20deletes\x20the\x20schedule\x20and\x20stops\x20future\x20auto-triggers.\x20Historical\x20Tasks\x20already\x20created\x20are\x20not\x20affected.','Schedule\x20kind:\x20CRON\x20or\x20ONCE','detail','Queued\x20Task\x20','length','model','751610CAFrjA','appCode','/run','Preview:\x20delete\x20schedule\x20','/schedules','CRON\x20schedules\x20require\x20--cron\x20and\x20do\x20not\x20accept\x20--scheduled-at.','description','schedule-id','cron','Schedule\x20UUID','\x20schedule\x20','scheduled-at','765177tUpjwC','read','/api/harness/apps/','Schedule\x20title','list','Created\x20','validation','\x20from\x20schedule\x20','Prompt\x20sent\x20to\x20the\x20Agent\x20when\x20the\x20schedule\x20runs','kind','string','--kind\x20must\x20be\x20CRON\x20or\x20ONCE.','CRON','POST','build','ONCE\x20schedules\x20require\x20--scheduled-at\x20and\x20do\x20not\x20accept\x20--cron.','number','run','trim','7XOqVcp','scheduleId','Delete\x20the\x20schedule\x20and\x20stop\x20future\x20triggers','create','Page\x20size\x20from\x201\x20to\x20100','4okRYtd','2106492mRgDyz','limit','schedule','prompt','Preview:\x20run\x20schedule\x20','a\x20UUID\x20returned\x20by\x20schedule\x20create/list','--prompt\x20must\x20not\x20be\x20blank.','Preview:\x20create\x20an\x20Agent\x20schedule','ONCE','Five-field\x20UTC\x20cron\x20expression\x20for\x20CRON\x20schedules','\x20immediately','30879855mXflWu','Creates\x20a\x20schedule\x20in\x20the\x20current\x20app\x20that\x20can\x20auto-trigger\x20an\x20Agent.\x20At\x20the\x20scheduled\x20time\x20a\x20Task\x20is\x20created\x20and\x20run.','Canonical\x20UTC\x20ISO\x20datetime\x20for\x20ONCE\x20schedules','kimi/k3','List\x20current\x20user\x27s\x20schedules\x20for\x20the\x20current\x20app','deepseek-v4-flash-0731','title','8310955DySzla','high-risk-write','4141416iBfRhB','str','--limit\x20must\x20be\x20an\x20integer\x20from\x201\x20to\x20100.','cursor'];a59_0x16d7=function(){return _0x3353f0;};return a59_0x16d7();}const a59_0x1df674=a59_0x3631;(function(_0x362c54,_0x428527){const _0x6b6384=a59_0x3631,_0x194aff=_0x362c54();while(!![]){try{const _0x5c3177=-parseInt(_0x6b6384(0xe0))/0x1+-parseInt(_0x6b6384(0xeb))/0x2+-parseInt(_0x6b6384(0xae))/0x3+parseInt(_0x6b6384(0xc6))/0x4*(-parseInt(_0x6b6384(0xd9))/0x5)+parseInt(_0x6b6384(0xc7))/0x6*(parseInt(_0x6b6384(0xc1))/0x7)+-parseInt(_0x6b6384(0xdb))/0x8+parseInt(_0x6b6384(0xd2))/0x9;if(_0x5c3177===_0x428527)break;else _0x194aff['push'](_0x194aff['shift']());}catch(_0x5d2932){_0x194aff['push'](_0x194aff['shift']());}}}(a59_0x16d7,0xccbae));import{createRuntimeSchedule,deleteRuntimeSchedule,getRuntimeSchedule,listRuntimeSchedules,runRuntimeSchedule,validateRuntimeSchedule}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';function a59_0x3631(_0x1e36a7,_0x5b16bc){_0x1e36a7=_0x1e36a7-0xa9;const _0x16d78e=a59_0x16d7();let _0x363199=_0x16d78e[_0x1e36a7];return _0x363199;}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':'kind','type':a59_0x1df674(0xb8),'required':!![],'enum':[a59_0x1df674(0xba),a59_0x1df674(0xcf)],'description':a59_0x1df674(0xe6)},CRON_FLAG={'name':'cron','type':'string','description':a59_0x1df674(0xd0)},SCHEDULED_AT_FLAG={'name':a59_0x1df674(0xad),'type':'string','description':a59_0x1df674(0xd4)},TITLE_FLAG={'name':a59_0x1df674(0xd8),'type':a59_0x1df674(0xb8),'required':!![],'description':a59_0x1df674(0xb1)},PROMPT_FLAG={'name':a59_0x1df674(0xca),'type':a59_0x1df674(0xb8),'required':!![],'description':a59_0x1df674(0xb6)},MODEL_FLAG={'name':a59_0x1df674(0xea),'type':a59_0x1df674(0xb8),'enum':[a59_0x1df674(0xd5),'deepseek-v4-flash-0731','deepseek-v4-pro-0813'],'default':a59_0x1df674(0xd7),'description':'Task\x20model\x20used\x20when\x20the\x20schedule\x20runs'},SCHEDULE_ID_FLAG={'name':'schedule-id','type':a59_0x1df674(0xb8),'required':!![],'description':a59_0x1df674(0xab),'pattern':{'regex':SCHEDULE_ID_PATTERN,'description':a59_0x1df674(0xcc)}},LIMIT_FLAG={'name':a59_0x1df674(0xc8),'type':a59_0x1df674(0xbe),'default':0x14,'description':a59_0x1df674(0xc5)},CURSOR_FLAG={'name':'cursor','type':a59_0x1df674(0xb8),'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(_0x193e85){const _0x587b54=a59_0x1df674,_0x4f3aaa=_0x193e85[_0x587b54(0xdc)](_0x587b54(0xb7)),_0x14e365=_0x193e85['str']('title')[_0x587b54(0xc0)](),_0x1990b3=_0x193e85[_0x587b54(0xdc)](_0x587b54(0xca))[_0x587b54(0xc0)](),_0x43c8b7=_0x193e85[_0x587b54(0xdc)](_0x587b54(0xea)),_0x5f2528=_0x193e85[_0x587b54(0xdc)](_0x587b54(0xaa)),_0x35a1a2=_0x193e85[_0x587b54(0xdc)](_0x587b54(0xad));if(!_0x14e365)throw CliErrors[_0x587b54(0xb4)]('--title\x20must\x20not\x20be\x20blank.');if(!_0x1990b3)throw CliErrors[_0x587b54(0xb4)](_0x587b54(0xcd));if(_0x4f3aaa==='CRON'){if(!_0x5f2528||_0x35a1a2)throw CliErrors['validation'](_0x587b54(0xf0));return{'kind':_0x4f3aaa,'timezone':'UTC','cron':_0x5f2528,'title':_0x14e365,'prompt':_0x1990b3,'model':_0x43c8b7};}if(_0x4f3aaa===_0x587b54(0xcf)){if(!_0x35a1a2||_0x5f2528)throw CliErrors[_0x587b54(0xb4)](_0x587b54(0xbd));return{'kind':_0x4f3aaa,'timezone':'UTC','scheduledAt':_0x35a1a2,'title':_0x14e365,'prompt':_0x1990b3,'model':_0x43c8b7};}throw CliErrors[_0x587b54(0xb4)](_0x587b54(0xb9));}function scheduleCollectionPath(_0x19d4da){const _0x52f25f=a59_0x1df674;return _0x52f25f(0xb0)+encodeURIComponent(_0x19d4da)+_0x52f25f(0xef);}function scheduleItemPath(_0x1161c5,_0x570ce8){return scheduleCollectionPath(_0x1161c5)+'/'+encodeURIComponent(_0x570ce8);}const scheduleValidate={'service':a59_0x1df674(0xc9),'command':'validate','description':'Validate\x20a\x20UTC\x20schedule\x20without\x20creating\x20it','risk':a59_0x1df674(0xaf),'flags':INPUT_FLAGS,async 'validate'(_0xaa2f9d){readScheduleInput(_0xaa2f9d);},async 'execute'(_0x171208){const _0x5f84fb=readScheduleInput(_0x171208),_0x20286d=await validateRuntimeSchedule(_0x171208['appCode'],_0x5f84fb);return{'ok':!![],'data':_0x20286d,'message':'Schedule\x20input\x20is\x20valid'};}},scheduleCreate={'service':a59_0x1df674(0xc9),'command':a59_0x1df674(0xc4),'description':a59_0x1df674(0xe3),'risk':a59_0x1df674(0xda),'confirmationDescription':a59_0x1df674(0xd3),'flags':INPUT_FLAGS,async 'validate'(_0x9a93da){readScheduleInput(_0x9a93da);},async 'execute'(_0x516586){const _0x280f4f=a59_0x1df674,_0x3e4a8a=readScheduleInput(_0x516586),_0x54e7fa=await validateRuntimeSchedule(_0x516586[_0x280f4f(0xec)],_0x3e4a8a),_0x57cd13=await createRuntimeSchedule(_0x516586[_0x280f4f(0xec)],_0x54e7fa);return{'ok':!![],'data':_0x57cd13,'message':_0x280f4f(0xb3)+_0x57cd13[_0x280f4f(0xb7)]+_0x280f4f(0xac)+_0x57cd13[_0x280f4f(0xc2)]};},async 'dryRun'(_0x1318c4){const _0x349aa2=a59_0x1df674,_0x3f3734=readScheduleInput(_0x1318c4);return dryRun('POST',scheduleCollectionPath(_0x1318c4[_0x349aa2(0xec)]))[_0x349aa2(0xe4)](_0x3f3734)[_0x349aa2(0xf1)](_0x349aa2(0xce))[_0x349aa2(0xbc)]();}},scheduleList={'service':'schedule','command':a59_0x1df674(0xb2),'description':a59_0x1df674(0xd6),'risk':a59_0x1df674(0xaf),'flags':[KIND_FLAG,LIMIT_FLAG,CURSOR_FLAG],async 'validate'(_0x108722){const _0x212ae0=a59_0x1df674,_0x4b8f2b=_0x108722['num']('limit');if(!Number[_0x212ae0(0xe1)](_0x4b8f2b)||_0x4b8f2b<0x1||_0x4b8f2b>0x64)throw CliErrors[_0x212ae0(0xb4)](_0x212ae0(0xdd));const _0x61146b=_0x108722[_0x212ae0(0xdc)](_0x212ae0(0xde));if(_0x61146b&&(_0x61146b[_0x212ae0(0xe9)]>0x400||_0x61146b[_0x212ae0(0xc0)]()!==_0x61146b))throw CliErrors[_0x212ae0(0xb4)]('--cursor\x20must\x20be\x20the\x20unchanged\x20nextCursor\x20from\x20schedule\x20list.');},async 'execute'(_0x9b86e6){const _0x523739=a59_0x1df674,_0x30347b=_0x9b86e6[_0x523739(0xdc)]('cursor'),_0x438aaa=await listRuntimeSchedules(_0x9b86e6[_0x523739(0xec)],{'kind':_0x9b86e6[_0x523739(0xdc)]('kind'),'limit':_0x9b86e6[_0x523739(0xdf)](_0x523739(0xc8)),..._0x30347b?{'cursor':_0x30347b}:{}});return{'ok':!![],'data':_0x438aaa};}},scheduleDetail={'service':'schedule','command':a59_0x1df674(0xe7),'description':a59_0x1df674(0xe2),'risk':a59_0x1df674(0xaf),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x338326){const _0x3eeb2f=a59_0x1df674,_0x2cb18d=await getRuntimeSchedule(_0x338326['appCode'],_0x338326[_0x3eeb2f(0xdc)](_0x3eeb2f(0xa9)));return{'ok':!![],'data':_0x2cb18d};}},scheduleRun={'service':'schedule','command':a59_0x1df674(0xbf),'description':'Run\x20the\x20schedule\x20once\x20immediately\x20and\x20create\x20a\x20Task','risk':a59_0x1df674(0xda),'confirmationDescription':'Ignores\x20the\x20original\x20trigger\x20time,\x20runs\x20the\x20schedule\x20once\x20now,\x20and\x20creates\x20a\x20new\x20Agent\x20Task.','flags':[SCHEDULE_ID_FLAG],async 'execute'(_0xd5d461){const _0xe68196=a59_0x1df674,_0x3bc2c8=_0xd5d461[_0xe68196(0xdc)](_0xe68196(0xa9)),_0x418e67=await runRuntimeSchedule(_0xd5d461[_0xe68196(0xec)],_0x3bc2c8);return{'ok':!![],'data':_0x418e67,'message':_0xe68196(0xe8)+_0x418e67['taskId']+_0xe68196(0xb5)+_0x3bc2c8};},async 'dryRun'(_0x489d33){const _0x387d0d=a59_0x1df674,_0x971359=_0x489d33[_0x387d0d(0xdc)](_0x387d0d(0xa9));return dryRun(_0x387d0d(0xbb),scheduleItemPath(_0x489d33[_0x387d0d(0xec)],_0x971359)+_0x387d0d(0xed))[_0x387d0d(0xf1)](_0x387d0d(0xcb)+_0x971359+_0x387d0d(0xd1))[_0x387d0d(0xbc)]();}},scheduleDelete={'service':a59_0x1df674(0xc9),'command':'delete','description':a59_0x1df674(0xc3),'risk':a59_0x1df674(0xda),'confirmationDescription':a59_0x1df674(0xe5),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x50358d){const _0x221cdb=a59_0x1df674,_0x45984e=_0x50358d['str'](_0x221cdb(0xa9)),_0x21e910=await deleteRuntimeSchedule(_0x50358d[_0x221cdb(0xec)],_0x45984e);return{'ok':!![],'data':_0x21e910,'message':'Deleted\x20schedule\x20'+_0x45984e};},async 'dryRun'(_0x2ffa55){const _0x26df6c=a59_0x1df674,_0x4b39af=_0x2ffa55[_0x26df6c(0xdc)](_0x26df6c(0xa9));return dryRun('DELETE',scheduleItemPath(_0x2ffa55[_0x26df6c(0xec)],_0x4b39af))['description'](_0x26df6c(0xee)+_0x4b39af)[_0x26df6c(0xbc)]();}};export const scheduleDefinitions=[scheduleValidate,scheduleCreate,scheduleList,scheduleDetail,scheduleRun,scheduleDelete];
|
|
1
|
+
const a59_0x1dfc5a=a59_0x1650;(function(_0x1cc262,_0x302e0c){const _0x44336d=a59_0x1650,_0x2e6b62=_0x1cc262();while(!![]){try{const _0x44c0e1=-parseInt(_0x44336d(0xe3))/0x1*(-parseInt(_0x44336d(0xe7))/0x2)+-parseInt(_0x44336d(0xa9))/0x3+-parseInt(_0x44336d(0xa5))/0x4*(-parseInt(_0x44336d(0xad))/0x5)+-parseInt(_0x44336d(0xca))/0x6*(parseInt(_0x44336d(0xe2))/0x7)+-parseInt(_0x44336d(0xc8))/0x8+parseInt(_0x44336d(0xeb))/0x9+parseInt(_0x44336d(0xcb))/0xa;if(_0x44c0e1===_0x302e0c)break;else _0x2e6b62['push'](_0x2e6b62['shift']());}catch(_0x3c7fe2){_0x2e6b62['push'](_0x2e6b62['shift']());}}}(a59_0x5fc2,0x3fdc3));import{createRuntimeSchedule,deleteRuntimeSchedule,getRuntimeSchedule,listRuntimeSchedules,runRuntimeSchedule,validateRuntimeSchedule}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a59_0x5fc2(){const _0x2f5d15=['/api/harness/apps/','1183680yOaEpP','/run','24xjvZTW','4110940lmQJkR','Five-field\x20UTC\x20cron\x20expression\x20for\x20CRON\x20schedules','scheduled-at','appCode','\x20schedule\x20','DELETE','\x20immediately','schedule-id','Delete\x20the\x20schedule\x20and\x20stop\x20future\x20triggers','Prompt\x20sent\x20to\x20the\x20Agent\x20when\x20the\x20schedule\x20runs','validate','Show\x20one\x20schedule\x20by\x20schedule\x20ID','schedule','body','kind','/schedules','description','run','list','trim','taskId','prompt','Page\x20size\x20from\x201\x20to\x20100','191086oFiMkU','329597NvupIc','validation','cron','string','2TdNDrY','--title\x20must\x20not\x20be\x20blank.','model','Preview:\x20create\x20an\x20Agent\x20schedule','1101951rKtTdh','deepseek-v4-flash-0731','List\x20current\x20user\x27s\x20schedules\x20for\x20the\x20current\x20app','Schedule\x20input\x20is\x20valid','num','Queued\x20Task\x20','4oAafBG','Task\x20model\x20used\x20when\x20the\x20schedule\x20runs','ONCE','Opaque\x20nextCursor\x20returned\x20by\x20the\x20previous\x20list\x20call','1044762jZQCEC','--limit\x20must\x20be\x20an\x20integer\x20from\x201\x20to\x20100.','create','number','19235AxmfZZ','a\x20UUID\x20returned\x20by\x20schedule\x20create/list','POST','Schedule\x20kind:\x20CRON\x20or\x20ONCE','Deleted\x20schedule\x20','Schedule\x20title','scheduleId','build','Create\x20a\x20recurring\x20or\x20one-shot\x20Agent\x20schedule','cursor','length','CRON','ONCE\x20schedules\x20require\x20--scheduled-at\x20and\x20do\x20not\x20accept\x20--cron.','limit','read','Created\x20','Ignores\x20the\x20original\x20trigger\x20time,\x20runs\x20the\x20schedule\x20once\x20now,\x20and\x20creates\x20a\x20new\x20Agent\x20Task.','Preview:\x20delete\x20schedule\x20','delete','\x20from\x20schedule\x20','kimi/k3','UTC','high-risk-write','deepseek-v4-pro-0813','Creates\x20a\x20schedule\x20in\x20the\x20current\x20app\x20that\x20can\x20auto-trigger\x20an\x20Agent.\x20At\x20the\x20scheduled\x20time\x20a\x20Task\x20is\x20created\x20and\x20run.','str'];a59_0x5fc2=function(){return _0x2f5d15;};return a59_0x5fc2();}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':a59_0x1dfc5a(0xd9),'type':a59_0x1dfc5a(0xe6),'required':!![],'enum':[a59_0x1dfc5a(0xb8),a59_0x1dfc5a(0xa7)],'description':a59_0x1dfc5a(0xb0)},CRON_FLAG={'name':a59_0x1dfc5a(0xe5),'type':a59_0x1dfc5a(0xe6),'description':a59_0x1dfc5a(0xcc)},SCHEDULED_AT_FLAG={'name':a59_0x1dfc5a(0xcd),'type':a59_0x1dfc5a(0xe6),'description':'Canonical\x20UTC\x20ISO\x20datetime\x20for\x20ONCE\x20schedules'},TITLE_FLAG={'name':'title','type':a59_0x1dfc5a(0xe6),'required':!![],'description':a59_0x1dfc5a(0xb2)},PROMPT_FLAG={'name':a59_0x1dfc5a(0xe0),'type':a59_0x1dfc5a(0xe6),'required':!![],'description':a59_0x1dfc5a(0xd4)},MODEL_FLAG={'name':'model','type':'string','enum':[a59_0x1dfc5a(0xc1),a59_0x1dfc5a(0xec),a59_0x1dfc5a(0xc4)],'default':a59_0x1dfc5a(0xec),'description':a59_0x1dfc5a(0xa6)},SCHEDULE_ID_FLAG={'name':a59_0x1dfc5a(0xd2),'type':'string','required':!![],'description':'Schedule\x20UUID','pattern':{'regex':SCHEDULE_ID_PATTERN,'description':a59_0x1dfc5a(0xae)}},LIMIT_FLAG={'name':a59_0x1dfc5a(0xba),'type':a59_0x1dfc5a(0xac),'default':0x14,'description':a59_0x1dfc5a(0xe1)},CURSOR_FLAG={'name':'cursor','type':'string','description':a59_0x1dfc5a(0xa8)},INPUT_FLAGS=[KIND_FLAG,CRON_FLAG,SCHEDULED_AT_FLAG,TITLE_FLAG,PROMPT_FLAG,MODEL_FLAG];function readScheduleInput(_0x2f5d48){const _0x47b2c8=a59_0x1dfc5a,_0x17a815=_0x2f5d48[_0x47b2c8(0xc6)](_0x47b2c8(0xd9)),_0x3348c3=_0x2f5d48[_0x47b2c8(0xc6)]('title')[_0x47b2c8(0xde)](),_0x521b47=_0x2f5d48[_0x47b2c8(0xc6)](_0x47b2c8(0xe0))[_0x47b2c8(0xde)](),_0x1c0a7c=_0x2f5d48[_0x47b2c8(0xc6)](_0x47b2c8(0xe9)),_0x3fc130=_0x2f5d48[_0x47b2c8(0xc6)](_0x47b2c8(0xe5)),_0x253b8a=_0x2f5d48[_0x47b2c8(0xc6)](_0x47b2c8(0xcd));if(!_0x3348c3)throw CliErrors['validation'](_0x47b2c8(0xe8));if(!_0x521b47)throw CliErrors['validation']('--prompt\x20must\x20not\x20be\x20blank.');if(_0x17a815==='CRON'){if(!_0x3fc130||_0x253b8a)throw CliErrors[_0x47b2c8(0xe4)]('CRON\x20schedules\x20require\x20--cron\x20and\x20do\x20not\x20accept\x20--scheduled-at.');return{'kind':_0x17a815,'timezone':_0x47b2c8(0xc2),'cron':_0x3fc130,'title':_0x3348c3,'prompt':_0x521b47,'model':_0x1c0a7c};}if(_0x17a815==='ONCE'){if(!_0x253b8a||_0x3fc130)throw CliErrors[_0x47b2c8(0xe4)](_0x47b2c8(0xb9));return{'kind':_0x17a815,'timezone':_0x47b2c8(0xc2),'scheduledAt':_0x253b8a,'title':_0x3348c3,'prompt':_0x521b47,'model':_0x1c0a7c};}throw CliErrors['validation']('--kind\x20must\x20be\x20CRON\x20or\x20ONCE.');}function scheduleCollectionPath(_0x3b1012){const _0x554808=a59_0x1dfc5a;return _0x554808(0xc7)+encodeURIComponent(_0x3b1012)+_0x554808(0xda);}function scheduleItemPath(_0x255ee5,_0x4f8354){return scheduleCollectionPath(_0x255ee5)+'/'+encodeURIComponent(_0x4f8354);}const scheduleValidate={'service':a59_0x1dfc5a(0xd7),'command':a59_0x1dfc5a(0xd5),'description':'Validate\x20a\x20UTC\x20schedule\x20without\x20creating\x20it','risk':a59_0x1dfc5a(0xbb),'flags':INPUT_FLAGS,async 'validate'(_0x3b9a17){readScheduleInput(_0x3b9a17);},async 'execute'(_0x2197a1){const _0x40b134=a59_0x1dfc5a,_0x34c789=readScheduleInput(_0x2197a1),_0x1871c8=await validateRuntimeSchedule(_0x2197a1[_0x40b134(0xce)],_0x34c789);return{'ok':!![],'data':_0x1871c8,'message':_0x40b134(0xee)};}},scheduleCreate={'service':a59_0x1dfc5a(0xd7),'command':a59_0x1dfc5a(0xab),'description':a59_0x1dfc5a(0xb5),'risk':a59_0x1dfc5a(0xc3),'confirmationDescription':a59_0x1dfc5a(0xc5),'flags':INPUT_FLAGS,async 'validate'(_0x340b7c){readScheduleInput(_0x340b7c);},async 'execute'(_0x1afc0b){const _0x465b55=a59_0x1dfc5a,_0x3e2ced=readScheduleInput(_0x1afc0b),_0xc967f0=await validateRuntimeSchedule(_0x1afc0b[_0x465b55(0xce)],_0x3e2ced),_0x3de35c=await createRuntimeSchedule(_0x1afc0b[_0x465b55(0xce)],_0xc967f0);return{'ok':!![],'data':_0x3de35c,'message':_0x465b55(0xbc)+_0x3de35c[_0x465b55(0xd9)]+_0x465b55(0xcf)+_0x3de35c[_0x465b55(0xb3)]};},async 'dryRun'(_0x4bf856){const _0x4c708e=a59_0x1dfc5a,_0x13e23f=readScheduleInput(_0x4bf856);return dryRun(_0x4c708e(0xaf),scheduleCollectionPath(_0x4bf856[_0x4c708e(0xce)]))[_0x4c708e(0xd8)](_0x13e23f)[_0x4c708e(0xdb)](_0x4c708e(0xea))['build']();}},scheduleList={'service':a59_0x1dfc5a(0xd7),'command':a59_0x1dfc5a(0xdd),'description':a59_0x1dfc5a(0xed),'risk':'read','flags':[KIND_FLAG,LIMIT_FLAG,CURSOR_FLAG],async 'validate'(_0x3a6b2b){const _0x11257b=a59_0x1dfc5a,_0x3dddf0=_0x3a6b2b['num']('limit');if(!Number['isSafeInteger'](_0x3dddf0)||_0x3dddf0<0x1||_0x3dddf0>0x64)throw CliErrors[_0x11257b(0xe4)](_0x11257b(0xaa));const _0x110cce=_0x3a6b2b['str'](_0x11257b(0xb6));if(_0x110cce&&(_0x110cce[_0x11257b(0xb7)]>0x400||_0x110cce[_0x11257b(0xde)]()!==_0x110cce))throw CliErrors[_0x11257b(0xe4)]('--cursor\x20must\x20be\x20the\x20unchanged\x20nextCursor\x20from\x20schedule\x20list.');},async 'execute'(_0x17cafe){const _0x63fb63=a59_0x1dfc5a,_0x2c1043=_0x17cafe[_0x63fb63(0xc6)](_0x63fb63(0xb6)),_0x387705=await listRuntimeSchedules(_0x17cafe[_0x63fb63(0xce)],{'kind':_0x17cafe['str'](_0x63fb63(0xd9)),'limit':_0x17cafe[_0x63fb63(0xa3)](_0x63fb63(0xba)),..._0x2c1043?{'cursor':_0x2c1043}:{}});return{'ok':!![],'data':_0x387705};}},scheduleDetail={'service':a59_0x1dfc5a(0xd7),'command':'detail','description':a59_0x1dfc5a(0xd6),'risk':a59_0x1dfc5a(0xbb),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x3903f1){const _0x225060=a59_0x1dfc5a,_0x4fb8f1=await getRuntimeSchedule(_0x3903f1[_0x225060(0xce)],_0x3903f1[_0x225060(0xc6)](_0x225060(0xd2)));return{'ok':!![],'data':_0x4fb8f1};}},scheduleRun={'service':a59_0x1dfc5a(0xd7),'command':a59_0x1dfc5a(0xdc),'description':'Run\x20the\x20schedule\x20once\x20immediately\x20and\x20create\x20a\x20Task','risk':a59_0x1dfc5a(0xc3),'confirmationDescription':a59_0x1dfc5a(0xbd),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x155060){const _0x5507f4=a59_0x1dfc5a,_0x5b6807=_0x155060[_0x5507f4(0xc6)](_0x5507f4(0xd2)),_0xbf3804=await runRuntimeSchedule(_0x155060[_0x5507f4(0xce)],_0x5b6807);return{'ok':!![],'data':_0xbf3804,'message':_0x5507f4(0xa4)+_0xbf3804[_0x5507f4(0xdf)]+_0x5507f4(0xc0)+_0x5b6807};},async 'dryRun'(_0x4f97ed){const _0x22d98d=a59_0x1dfc5a,_0x13bdc4=_0x4f97ed[_0x22d98d(0xc6)](_0x22d98d(0xd2));return dryRun('POST',scheduleItemPath(_0x4f97ed[_0x22d98d(0xce)],_0x13bdc4)+_0x22d98d(0xc9))[_0x22d98d(0xdb)]('Preview:\x20run\x20schedule\x20'+_0x13bdc4+_0x22d98d(0xd1))[_0x22d98d(0xb4)]();}},scheduleDelete={'service':a59_0x1dfc5a(0xd7),'command':a59_0x1dfc5a(0xbf),'description':a59_0x1dfc5a(0xd3),'risk':a59_0x1dfc5a(0xc3),'confirmationDescription':'Permanently\x20deletes\x20the\x20schedule\x20and\x20stops\x20future\x20auto-triggers.\x20Historical\x20Tasks\x20already\x20created\x20are\x20not\x20affected.','flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x1899bc){const _0x5c8b9b=a59_0x1dfc5a,_0x8b7ae8=_0x1899bc[_0x5c8b9b(0xc6)]('schedule-id'),_0x5adde6=await deleteRuntimeSchedule(_0x1899bc[_0x5c8b9b(0xce)],_0x8b7ae8);return{'ok':!![],'data':_0x5adde6,'message':_0x5c8b9b(0xb1)+_0x8b7ae8};},async 'dryRun'(_0xd73850){const _0x10e21a=a59_0x1dfc5a,_0x88644f=_0xd73850['str']('schedule-id');return dryRun(_0x10e21a(0xd0),scheduleItemPath(_0xd73850[_0x10e21a(0xce)],_0x88644f))['description'](_0x10e21a(0xbe)+_0x88644f)[_0x10e21a(0xb4)]();}};function a59_0x1650(_0x1605b6,_0xd21dc2){_0x1605b6=_0x1605b6-0xa3;const _0x5fc2d=a59_0x5fc2();let _0x16507e=_0x5fc2d[_0x1605b6];return _0x16507e;}export const scheduleDefinitions=[scheduleValidate,scheduleCreate,scheduleList,scheduleDetail,scheduleRun,scheduleDelete];
|
package/lib/commands/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a60_0x43feb5=a60_0x1988;function a60_0x3a96(){const _0x14bb41=['4013250mtUWbk','24150576MIVDjq','12eDdyWa','3262278XHsmtv','9yxQcic','2490rqMtuL','435315LgGpQN','33rTClng','Export\x20machine-readable\x20command\x20schema\x20(JSON)','6687088tIyLgD','7FzKXRZ','1684630WJAedf','138idolWW'];a60_0x3a96=function(){return _0x14bb41;};return a60_0x3a96();}(function(_0x38e2db,_0x59f0be){const _0x2b3f5e=a60_0x1988,_0x3ba740=_0x38e2db();while(!![]){try{const _0x181783=-parseInt(_0x2b3f5e(0x1f2))/0x1*(parseInt(_0x2b3f5e(0x1f9))/0x2)+parseInt(_0x2b3f5e(0x1f3))/0x3*(parseInt(_0x2b3f5e(0x1ef))/0x4)+-parseInt(_0x2b3f5e(0x1fa))/0x5+-parseInt(_0x2b3f5e(0x1f0))/0x6*(parseInt(_0x2b3f5e(0x1f7))/0x7)+parseInt(_0x2b3f5e(0x1f6))/0x8*(-parseInt(_0x2b3f5e(0x1f1))/0x9)+-parseInt(_0x2b3f5e(0x1f8))/0xa*(-parseInt(_0x2b3f5e(0x1f4))/0xb)+parseInt(_0x2b3f5e(0x1ee))/0xc;if(_0x181783===_0x59f0be)break;else _0x3ba740['push'](_0x3ba740['shift']());}catch(_0x2e852b){_0x3ba740['push'](_0x3ba740['shift']());}}}(a60_0x3a96,0x92499));function a60_0x1988(_0x52a212,_0x145467){_0x52a212=_0x52a212-0x1ee;const _0x3a96e3=a60_0x3a96();let _0x198869=_0x3a96e3[_0x52a212];return _0x198869;}import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x2217e5){const _0xa59d55=await buildSchemaPayload();return{'ok':!![],'data':_0xa59d55};}export const schemaDefinition={'service':'schema','command':'export','description':a60_0x43feb5(0x1f5),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a61_0xf62e(_0x5992ee,_0x2ea312){_0x5992ee=_0x5992ee-0x1bf;const _0x36f512=a61_0x36f5();let _0xf62e3b=_0x36f512[_0x5992ee];return _0xf62e3b;}(function(_0x64e6a1,_0x303623){const _0x5e97e2=a61_0xf62e,_0x3b198f=_0x64e6a1();while(!![]){try{const _0x1e55dd=parseInt(_0x5e97e2(0x216))/0x1*(parseInt(_0x5e97e2(0x203))/0x2)+-parseInt(_0x5e97e2(0x1d7))/0x3+-parseInt(_0x5e97e2(0x20c))/0x4+-parseInt(_0x5e97e2(0x20e))/0x5*(parseInt(_0x5e97e2(0x202))/0x6)+parseInt(_0x5e97e2(0x21e))/0x7+parseInt(_0x5e97e2(0x1ff))/0x8+parseInt(_0x5e97e2(0x214))/0x9;if(_0x1e55dd===_0x303623)break;else _0x3b198f['push'](_0x3b198f['shift']());}catch(_0x3958b2){_0x3b198f['push'](_0x3b198f['shift']());}}}(a61_0x36f5,0x8e630));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';function a61_0x36f5(){const _0x12bcf5=['data','args','description','context.','kind','appcode','startsWith','\x22\x20in\x20service\x20command\x20','push','bff','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','userName','join','\x20completed\x20in\x20','username','tree','type','\x20\x20\x20\x20functionName:\x20','datasetCode','Unsupported\x20service\x20target\x20kind:\x20','service','The\x20manifest\x20marks\x20this\x20command\x20as\x20a\x20write.\x20It\x20may\x20change\x20business\x20data\x20or\x20service\x20state.','`\x20to\x20inspect\x20the\x20manifest.','\x20\x20[','ctx.','datatable','1319223gLAZIc','operator','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','commands','Preview\x20dynamic\x20service\x20command:\x20','length','This\x20will\x20run\x20Service\x20Tree\x20command\x20\x22','rawFlags','tenantCode','now','filter','tableName','default','trim','target','nickname','cliName','cliPath','flags','\x20->\x20','loginName','env','employeeId','sqlCode','slice','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','name','number','scriptName','\x20service\x20detail\x20--service\x20','appCode','\x20\x20\x20\x20kind:\x20\x20\x20\x20','risk','find','enum','padEnd','fullPath','map','source','1739280gnZWsC','code','\x20\x20\x20\x20','6kvIhvd','517394tpaImu','Commands:','Cannot\x20resolve\x20datatable\x20\x22','high-risk-write','mapTo','\x20\x20SERVICE\x20TREE\x20TARGET','SERVICE_TREE','required','appRef','3740088fBxGRH','normalizedManifest','3954180NVYbSD','string','Service\x20command\x20','app','some','const','10650186tCRyNi','\x20requires\x20target.sqlCode.','1jOQuqx','params','remainingArgs','\x20\x20\x20\x20command:\x20','Run\x20service\x20command\x20','command','appBindings','read','7625478NwweTP','bffId','validation','flatMap','envName','nickName','Use\x20`'];a61_0x36f5=function(){return _0x12bcf5;};return a61_0x36f5();}import{CLI_BIN_NAME}from'../../constant/cli.js';export function resolveDynamicServiceCommand(_0x240b47,_0x3b7f86){const _0x3e4204=a61_0xf62e,_0x1e8a9e=listLocalServiceTrees();let _0x2e2199;for(const _0x529707 of _0x1e8a9e){const _0xc6d404=matchServiceTreeCommand(_0x529707,_0x240b47);if(!_0xc6d404)continue;(!_0x2e2199||_0xc6d404['command'][_0x3e4204(0x1fc)][_0x3e4204(0x1dc)]>_0x2e2199[_0x3e4204(0x21b)][_0x3e4204(0x1fc)][_0x3e4204(0x1dc)])&&(_0x2e2199={'tree':_0x529707,'command':_0xc6d404['command'],'remainingArgs':_0xc6d404[_0x3e4204(0x218)]});}if(!_0x2e2199)return undefined;const _0x2dee08={..._0x3b7f86};return applyAppBinding(_0x2e2199[_0x3e4204(0x1cc)],_0x2e2199[_0x3e4204(0x21b)],_0x2dee08),{'definition':buildDynamicCommandDefinition(_0x2e2199[_0x3e4204(0x1cc)],_0x2e2199[_0x3e4204(0x21b)]),'args':_0x2e2199[_0x3e4204(0x218)],'flags':_0x2dee08,'tree':_0x2e2199[_0x3e4204(0x1cc)],'command':_0x2e2199[_0x3e4204(0x21b)]};}export function generateDynamicServiceHelp(_0x124eeb){const _0x55a724=a61_0xf62e,_0x2d0aef=listLocalServiceTrees()[_0x55a724(0x1f9)](_0x5cf2e5=>_0x5cf2e5[_0x55a724(0x1d1)][_0x55a724(0x200)]===_0x124eeb);if(!_0x2d0aef)return undefined;const _0x2c342c=[CLI_BIN_NAME+'\x20'+_0x124eeb+'\x20<command>\x20[flags]','',_0x2d0aef[_0x55a724(0x1d1)][_0x55a724(0x1f2)]||_0x124eeb,_0x2d0aef[_0x55a724(0x1d1)][_0x55a724(0x1bf)]?'\x20\x20'+_0x2d0aef['service'][_0x55a724(0x1bf)]:'','',_0x55a724(0x204),..._0x2d0aef[_0x55a724(0x1da)][_0x55a724(0x1fd)](_0x1d595d=>{const _0x58d965=_0x55a724,_0x1011b1=_0x1d595d['fullPath'][_0x58d965(0x1ef)](0x1)[_0x58d965(0x1c9)]('\x20'),_0xafc44c=_0x1d595d[_0x58d965(0x1f8)]===_0x58d965(0x21d)?'':'\x20['+_0x1d595d[_0x58d965(0x1f8)]+']';return'\x20\x20'+_0x1011b1[_0x58d965(0x1fb)](0x18)+'\x20'+(_0x1d595d[_0x58d965(0x1bf)]||'')+_0xafc44c;}),'',_0x55a724(0x224)+CLI_BIN_NAME+_0x55a724(0x1f5)+_0x124eeb+_0x55a724(0x1d3)][_0x55a724(0x1e1)](Boolean);return _0x2c342c[_0x55a724(0x1c9)]('\x0a');}export function listDynamicServiceEntries(){const _0x2ef27b=a61_0xf62e;return listLocalServices()[_0x2ef27b(0x1fd)](_0x403d64=>{const _0x5cbd4d=_0x2ef27b,_0x512492=_0x403d64[_0x5cbd4d(0x20d)];return{'service':_0x512492[_0x5cbd4d(0x1d1)]['code'],'label':_0x512492['service'][_0x5cbd4d(0x1f2)]||_0x512492[_0x5cbd4d(0x1d1)][_0x5cbd4d(0x200)],'commands':_0x512492[_0x5cbd4d(0x1da)][_0x5cbd4d(0x1fd)](_0x388bac=>({'command':dynamicCommandName(_0x388bac),'description':_0x388bac[_0x5cbd4d(0x1bf)]||_0x5cbd4d(0x21a)+_0x388bac[_0x5cbd4d(0x1e8)],'tag':riskTag(_0x388bac[_0x5cbd4d(0x1f8)])}))};});}export function getDynamicServiceEntry(_0x19d4e8){const _0x113f9a=a61_0xf62e;return listDynamicServiceEntries()[_0x113f9a(0x1f9)](_0x1c5d27=>_0x1c5d27[_0x113f9a(0x1d1)]===_0x19d4e8);}export function listDynamicServiceDefinitions(_0x3f1981){const _0x1fe045=a61_0xf62e;return listLocalServiceTrees()['filter'](_0x58dee1=>!_0x3f1981||_0x58dee1[_0x1fe045(0x1d1)][_0x1fe045(0x200)]===_0x3f1981)[_0x1fe045(0x221)](_0x517d92=>_0x517d92['commands'][_0x1fe045(0x1fd)](_0x1a96f1=>buildDynamicCommandDefinition(_0x517d92,_0x1a96f1)));}export function getDynamicServiceDefinitions(_0x2ef7a4){const _0x3f206d=a61_0xf62e,_0x53c77d=listDynamicServiceDefinitions(_0x2ef7a4);return _0x53c77d[_0x3f206d(0x1dc)]>0x0?_0x53c77d:undefined;}export function findDynamicServiceDefinition(_0x29d796,_0x3949f8){const _0x1917a2=a61_0xf62e;return listDynamicServiceDefinitions(_0x29d796)[_0x1917a2(0x1f9)](_0xfd27fc=>_0xfd27fc[_0x1917a2(0x21b)]===_0x3949f8);}export function buildDynamicCommandDefinition(_0x419857,_0x33bbae){const _0x14e84e=a61_0xf62e;return{'service':_0x419857[_0x14e84e(0x1d1)][_0x14e84e(0x200)],'command':dynamicCommandName(_0x33bbae),'description':_0x33bbae[_0x14e84e(0x1bf)]||'Run\x20service\x20command\x20'+_0x33bbae[_0x14e84e(0x1e8)],'risk':_0x33bbae[_0x14e84e(0x1f8)],..._0x33bbae[_0x14e84e(0x1f8)]===_0x14e84e(0x21d)?{}:{'confirmationDescription':buildDynamicConfirmationDescription(_0x33bbae)},'requiresAuth':!![],'requiresAppCode':!![],'args':_0x33bbae[_0x14e84e(0x226)][_0x14e84e(0x1fd)](_0x1c0910=>({'name':_0x1c0910[_0x14e84e(0x1f2)],'description':_0x1c0910[_0x14e84e(0x1bf)]||_0x1c0910[_0x14e84e(0x1f2)],'required':_0x1c0910[_0x14e84e(0x20a)]})),'flags':_0x33bbae[_0x14e84e(0x1e9)][_0x14e84e(0x1fd)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x33bbae),async 'dryRun'(_0x6deff6){const _0x5dde8b=_0x14e84e,_0x5b95e6=await compilePlan(_0x33bbae,_0x6deff6);return{'method':_0x5dde8b(0x209),'url':_0x33bbae[_0x5dde8b(0x1e8)],'body':{'target':targetPreview(_0x5b95e6),'params':_0x5b95e6[_0x5dde8b(0x217)]},'description':_0x5dde8b(0x1db)+_0x33bbae['cliPath']};},async 'execute'(_0x2b388a){const _0x339c7f=_0x14e84e,_0x47d585=await compilePlan(_0x33bbae,_0x2b388a),_0x208f5c=Date[_0x339c7f(0x1e0)](),_0x51e6f7=await executePlan(_0x47d585,_0x33bbae,_0x2b388a),_0x278de4=Date[_0x339c7f(0x1e0)]()-_0x208f5c;return{'ok':!![],'data':{'service':_0x419857[_0x339c7f(0x1d1)],'command':_0x33bbae[_0x339c7f(0x1e8)],'target':targetPreview(_0x47d585),'result':_0x51e6f7,'elapsed':_0x278de4},'message':'Service\x20command\x20'+_0x33bbae[_0x339c7f(0x1e8)]+_0x339c7f(0x1ca)+_0x278de4+'ms'};}};}function buildDynamicConfirmationDescription(_0x1d4156){const _0x4fde6f=a61_0xf62e,_0x286f8e=_0x1d4156[_0x4fde6f(0x1bf)]||_0x1d4156[_0x4fde6f(0x1e8)],_0x4a3465=_0x1d4156[_0x4fde6f(0x1f8)]===_0x4fde6f(0x206)?'The\x20manifest\x20marks\x20this\x20command\x20as\x20a\x20high-risk\x20write.\x20It\x20may\x20make\x20business\x20changes\x20that\x20are\x20hard\x20to\x20reverse.':_0x4fde6f(0x1d2);return _0x4fde6f(0x1dd)+_0x286f8e+'\x22.\x20'+_0x4a3465;}function dynamicCommandName(_0x177c76){const _0x1d0895=a61_0xf62e;return _0x177c76[_0x1d0895(0x1fc)][_0x1d0895(0x1ef)](0x1)['join']('\x20');}function riskTag(_0x570f58){const _0x35ffc1=a61_0xf62e;return _0x570f58===_0x35ffc1(0x21d)?'':_0x35ffc1(0x1d4)+_0x570f58+']';}function flagToCommandFlag(_0x30cdaf){const _0x207c94=a61_0xf62e;return{'name':_0x30cdaf[_0x207c94(0x1e7)],'type':_0x30cdaf[_0x207c94(0x1cd)]==='json'?_0x207c94(0x20f):_0x30cdaf[_0x207c94(0x1cd)],'description':_0x30cdaf[_0x207c94(0x1bf)]||_0x30cdaf[_0x207c94(0x1f2)],'required':_0x30cdaf[_0x207c94(0x20a)],'default':isPrimitiveFlagDefault(_0x30cdaf[_0x207c94(0x1e3)])?_0x30cdaf[_0x207c94(0x1e3)]:undefined,'enum':_0x30cdaf[_0x207c94(0x1fa)]};}async function compilePlan(_0x1636eb,_0x368d33){const _0x43045a=a61_0xf62e;return compileServiceTreeCommand(_0x1636eb,{'flags':_0x368d33[_0x43045a(0x1de)],'args':_0x368d33[_0x43045a(0x226)],'context':await buildServiceContext(_0x1636eb,_0x368d33)});}async function buildServiceContext(_0x210b95,_0x2cc009){const _0x55694e=a61_0xf62e,_0x474aea={'appCode':_0x2cc009['appCode'],'env':_0x2cc009[_0x55694e(0x222)],'envName':_0x2cc009['envName']};if(!usesRuntimeContext(_0x210b95))return _0x474aea;const _0x11d107=await getLoginUserInfo(),_0x3665f8=pickFirst(_0x11d107['userId'],_0x11d107['id']);return{..._0x474aea,'user':_0x11d107,'userId':_0x3665f8,'id':_0x11d107['id'],'username':pickFirst(_0x11d107[_0x55694e(0x1cb)],_0x11d107['userName'],_0x11d107[_0x55694e(0x1eb)]),'userName':_0x11d107[_0x55694e(0x1c8)],'nickname':pickFirst(_0x11d107[_0x55694e(0x1e6)],_0x11d107[_0x55694e(0x223)]),'nickName':_0x11d107[_0x55694e(0x223)],'tenantCode':_0x11d107[_0x55694e(0x1df)],'employeeId':_0x11d107[_0x55694e(0x1ed)]};}function usesRuntimeContext(_0x3d62cd){const _0x26796a=a61_0xf62e;return _0x3d62cd[_0x26796a(0x207)][_0x26796a(0x212)](_0x1de0da=>typeof _0x1de0da['source']===_0x26796a(0x20f)&&(_0x1de0da['source'][_0x26796a(0x1c3)](_0x26796a(0x1c0))||_0x1de0da[_0x26796a(0x1fe)][_0x26796a(0x1c3)](_0x26796a(0x1d5))));}function pickFirst(..._0x1fa719){const _0x12bce3=a61_0xf62e;return _0x1fa719[_0x12bce3(0x1f9)](_0x469ec1=>_0x469ec1!==undefined&&_0x469ec1!==null);}async function executePlan(_0x2c80f3,_0x10f8b3,_0x526047){const _0x107576=a61_0xf62e;if(_0x2c80f3[_0x107576(0x1c1)]===_0x107576(0x225)){const _0xc54d83=await resolveDatasetCode(_0x2c80f3,_0x10f8b3,_0x526047);return executeData(_0xc54d83,_0x2c80f3[_0x107576(0x21b)],_0x2c80f3[_0x107576(0x217)]);}if(_0x2c80f3[_0x107576(0x1c1)]==='sql'){if(!_0x2c80f3[_0x107576(0x1ee)])throw CliErrors[_0x107576(0x220)]('Service\x20command\x20'+_0x10f8b3[_0x107576(0x1e8)]+_0x107576(0x215));return executeSdkSql(_0x2c80f3['sqlCode'],normalizeScalarParams(_0x2c80f3[_0x107576(0x217)]));}if(_0x2c80f3[_0x107576(0x1c1)]===_0x107576(0x1c6)){const _0x21a3e9=_0x2c80f3[_0x107576(0x1f4)]||_0x2c80f3['bffCode']||(_0x2c80f3[_0x107576(0x21f)]==null?'':String(_0x2c80f3[_0x107576(0x21f)]));if(!_0x21a3e9)throw CliErrors[_0x107576(0x220)]('Service\x20command\x20'+_0x10f8b3[_0x107576(0x1e8)]+'\x20requires\x20target.functionName.');return executeSdkBff(_0x21a3e9,_0x2c80f3[_0x107576(0x217)]);}throw CliErrors[_0x107576(0x220)](_0x107576(0x1d0)+_0x2c80f3[_0x107576(0x1c1)]);}async function resolveDatasetCode(_0xf64742,_0x5b41c3,_0x17ba57){const _0x5a3b33=a61_0xf62e;if(_0xf64742[_0x5a3b33(0x1cf)])return _0xf64742[_0x5a3b33(0x1cf)];if(!_0xf64742[_0x5a3b33(0x1d6)])throw CliErrors['validation'](_0x5a3b33(0x210)+_0x5b41c3[_0x5a3b33(0x1e8)]+_0x5a3b33(0x1c7));const _0x221f27=await listDatasets(_0x17ba57[_0x5a3b33(0x1f6)]),_0x105414=_0x221f27[_0x5a3b33(0x1f9)](_0x59ea64=>_0x59ea64['dbtableConfig']?.[_0x5a3b33(0x1e2)]===_0xf64742[_0x5a3b33(0x1d6)]);if(!_0x105414?.[_0x5a3b33(0x200)])throw CliErrors['validation'](_0x5a3b33(0x205)+_0xf64742[_0x5a3b33(0x1d6)]+_0x5a3b33(0x1d9)+_0x17ba57['appCode']+'.',_0x5a3b33(0x1f0));return _0x105414[_0x5a3b33(0x200)];}function applyAppBinding(_0x5a9245,_0x24fa96,_0x3d9b80){const _0x5a406e=a61_0xf62e,_0x135e80=_0x24fa96[_0x5a406e(0x1e5)][_0x5a406e(0x20b)];if(!_0x135e80)return;const _0x4f777e=_0x5a9245[_0x5a406e(0x21c)][_0x135e80];if(!_0x4f777e)throw CliErrors[_0x5a406e(0x220)]('Unknown\x20appRef\x20\x22'+_0x135e80+_0x5a406e(0x1c4)+_0x24fa96['cliPath']+'.',_0x5a406e(0x1f1));const _0x37a42e=_0x4f777e['appcode']||_0x4f777e[_0x5a406e(0x1f6)];_0x37a42e&&!hasText(_0x3d9b80[_0x5a406e(0x1c2)])&&(_0x3d9b80[_0x5a406e(0x1c2)]=_0x37a42e),_0x4f777e[_0x5a406e(0x211)]&&!hasText(_0x3d9b80[_0x5a406e(0x211)])&&!hasText(_0x3d9b80[_0x5a406e(0x1c2)])&&(_0x3d9b80[_0x5a406e(0x211)]=_0x4f777e[_0x5a406e(0x211)]),_0x4f777e[_0x5a406e(0x1ec)]&&!hasText(_0x3d9b80[_0x5a406e(0x1ec)])&&(_0x3d9b80[_0x5a406e(0x1ec)]=_0x4f777e['env']);}function renderDynamicCommandHelp(_0x2a95a0){const _0x435e40=a61_0xf62e,_0x444abb=[_0x435e40(0x208),_0x435e40(0x1f7)+_0x2a95a0[_0x435e40(0x1e5)][_0x435e40(0x1c1)],_0x435e40(0x219)+_0x2a95a0[_0x435e40(0x1e5)]['command']];if(_0x2a95a0['target'][_0x435e40(0x1cf)])_0x444abb[_0x435e40(0x1c5)]('\x20\x20\x20\x20datasetCode:\x20'+_0x2a95a0['target'][_0x435e40(0x1cf)]);if(_0x2a95a0[_0x435e40(0x1e5)]['datatable'])_0x444abb[_0x435e40(0x1c5)]('\x20\x20\x20\x20datatable:\x20'+_0x2a95a0[_0x435e40(0x1e5)][_0x435e40(0x1d6)]);if(_0x2a95a0['target'][_0x435e40(0x1ee)])_0x444abb[_0x435e40(0x1c5)]('\x20\x20\x20\x20sqlCode:\x20'+_0x2a95a0[_0x435e40(0x1e5)][_0x435e40(0x1ee)]);if(_0x2a95a0[_0x435e40(0x1e5)]['scriptName'])_0x444abb[_0x435e40(0x1c5)](_0x435e40(0x1ce)+_0x2a95a0[_0x435e40(0x1e5)][_0x435e40(0x1f4)]);if(_0x2a95a0['mapTo']['length']>0x0){_0x444abb['push']('','\x20\x20MAP\x20TO');for(const _0x34c626 of _0x2a95a0[_0x435e40(0x207)]){_0x444abb[_0x435e40(0x1c5)](_0x435e40(0x201)+(_0x34c626['source']||_0x435e40(0x213))+_0x435e40(0x1ea)+_0x34c626[_0x435e40(0x1e5)]+(_0x34c626['operator']?'.'+_0x34c626[_0x435e40(0x1d8)]:''));}}return _0x444abb[_0x435e40(0x1c9)]('\x0a');}function targetPreview(_0x29fa71){const _0x2f6b3a=a61_0xf62e;return{'kind':_0x29fa71[_0x2f6b3a(0x1c1)],'command':_0x29fa71[_0x2f6b3a(0x21b)],'appRef':_0x29fa71[_0x2f6b3a(0x20b)],'datasetCode':_0x29fa71[_0x2f6b3a(0x1cf)],'datatable':_0x29fa71['datatable'],'sqlCode':_0x29fa71['sqlCode'],'bffCode':_0x29fa71['bffCode'],'bffId':_0x29fa71[_0x2f6b3a(0x21f)],'functionName':_0x29fa71[_0x2f6b3a(0x1f4)]};}function normalizeScalarParams(_0x2b1019){const _0x4d0454=a61_0xf62e;return Object['fromEntries'](Object['entries'](_0x2b1019)[_0x4d0454(0x1e1)](([,_0x4eb5cb])=>typeof _0x4eb5cb===_0x4d0454(0x20f)||typeof _0x4eb5cb===_0x4d0454(0x1f3)));}function hasText(_0x5a651c){const _0x3f12e7=a61_0xf62e;return typeof _0x5a651c===_0x3f12e7(0x20f)&&_0x5a651c[_0x3f12e7(0x1e4)]()[_0x3f12e7(0x1dc)]>0x0;}function isPrimitiveFlagDefault(_0x422821){const _0x18a3f5=a61_0xf62e;return _0x422821===undefined||typeof _0x422821===_0x18a3f5(0x20f)||typeof _0x422821==='number'||typeof _0x422821==='boolean';}
|
|
1
|
+
(function(_0x4fee95,_0x28a8ab){const _0x2eee4e=a61_0x6c6d,_0x4a970e=_0x4fee95();while(!![]){try{const _0x156a93=-parseInt(_0x2eee4e(0x110))/0x1*(parseInt(_0x2eee4e(0x153))/0x2)+-parseInt(_0x2eee4e(0x159))/0x3*(parseInt(_0x2eee4e(0x15e))/0x4)+-parseInt(_0x2eee4e(0x126))/0x5*(parseInt(_0x2eee4e(0x135))/0x6)+parseInt(_0x2eee4e(0x14f))/0x7+parseInt(_0x2eee4e(0x155))/0x8+parseInt(_0x2eee4e(0x11a))/0x9*(-parseInt(_0x2eee4e(0x14c))/0xa)+-parseInt(_0x2eee4e(0xf7))/0xb*(-parseInt(_0x2eee4e(0x131))/0xc);if(_0x156a93===_0x28a8ab)break;else _0x4a970e['push'](_0x4a970e['shift']());}catch(_0xfe52f6){_0x4a970e['push'](_0x4a970e['shift']());}}}(a61_0x4c30,0xbd0c6));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(_0x45162f,_0xe6d129){const _0x55b5b2=a61_0x6c6d,_0x567bb3=listLocalServiceTrees();let _0x1aa52d;for(const _0x3e1eff of _0x567bb3){const _0x10020f=matchServiceTreeCommand(_0x3e1eff,_0x45162f);if(!_0x10020f)continue;(!_0x1aa52d||_0x10020f[_0x55b5b2(0x149)][_0x55b5b2(0x112)]['length']>_0x1aa52d[_0x55b5b2(0x149)][_0x55b5b2(0x112)][_0x55b5b2(0x108)])&&(_0x1aa52d={'tree':_0x3e1eff,'command':_0x10020f[_0x55b5b2(0x149)],'remainingArgs':_0x10020f[_0x55b5b2(0x13d)]});}if(!_0x1aa52d)return undefined;const _0x454195={..._0xe6d129};return applyAppBinding(_0x1aa52d['tree'],_0x1aa52d[_0x55b5b2(0x149)],_0x454195),{'definition':buildDynamicCommandDefinition(_0x1aa52d[_0x55b5b2(0xfd)],_0x1aa52d[_0x55b5b2(0x149)]),'args':_0x1aa52d[_0x55b5b2(0x13d)],'flags':_0x454195,'tree':_0x1aa52d[_0x55b5b2(0xfd)],'command':_0x1aa52d[_0x55b5b2(0x149)]};}export function generateDynamicServiceHelp(_0x547be6){const _0xf4b68b=a61_0x6c6d,_0x324b14=listLocalServiceTrees()[_0xf4b68b(0xfc)](_0x2d6e10=>_0x2d6e10['service']['code']===_0x547be6);if(!_0x324b14)return undefined;const _0x1c84c0=[CLI_BIN_NAME+'\x20'+_0x547be6+_0xf4b68b(0x129),'',_0x324b14[_0xf4b68b(0x105)]['name']||_0x547be6,_0x324b14[_0xf4b68b(0x105)][_0xf4b68b(0x13f)]?'\x20\x20'+_0x324b14[_0xf4b68b(0x105)][_0xf4b68b(0x13f)]:'','',_0xf4b68b(0x104),..._0x324b14['commands'][_0xf4b68b(0x139)](_0xf89d90=>{const _0x5b7679=_0xf4b68b,_0x266ff9=_0xf89d90[_0x5b7679(0x112)][_0x5b7679(0x132)](0x1)['join']('\x20'),_0xdbb112=_0xf89d90[_0x5b7679(0x158)]===_0x5b7679(0x11e)?'':'\x20['+_0xf89d90['risk']+']';return'\x20\x20'+_0x266ff9[_0x5b7679(0x10e)](0x18)+'\x20'+(_0xf89d90['description']||'')+_0xdbb112;}),'',_0xf4b68b(0x15f)+CLI_BIN_NAME+_0xf4b68b(0x10f)+_0x547be6+_0xf4b68b(0x128)][_0xf4b68b(0x121)](Boolean);return _0x1c84c0[_0xf4b68b(0x141)]('\x0a');}export function listDynamicServiceEntries(){return listLocalServices()['map'](_0x104a96=>{const _0x29278d=a61_0x6c6d,_0x330b5b=_0x104a96[_0x29278d(0x116)];return{'service':_0x330b5b['service'][_0x29278d(0xf9)],'label':_0x330b5b[_0x29278d(0x105)][_0x29278d(0x109)]||_0x330b5b['service'][_0x29278d(0xf9)],'commands':_0x330b5b['commands']['map'](_0x21f9a3=>({'command':dynamicCommandName(_0x21f9a3),'description':_0x21f9a3[_0x29278d(0x13f)]||_0x29278d(0x152)+_0x21f9a3[_0x29278d(0x10b)],'tag':riskTag(_0x21f9a3['risk'])}))};});}export function getDynamicServiceEntry(_0x5fe447){const _0x4871e5=a61_0x6c6d;return listDynamicServiceEntries()[_0x4871e5(0xfc)](_0x316924=>_0x316924[_0x4871e5(0x105)]===_0x5fe447);}export function listDynamicServiceDefinitions(_0x1ecb64){const _0x28dd7d=a61_0x6c6d;return listLocalServiceTrees()[_0x28dd7d(0x121)](_0x151133=>!_0x1ecb64||_0x151133[_0x28dd7d(0x105)][_0x28dd7d(0xf9)]===_0x1ecb64)[_0x28dd7d(0x12e)](_0xdce15f=>_0xdce15f['commands'][_0x28dd7d(0x139)](_0x2d0374=>buildDynamicCommandDefinition(_0xdce15f,_0x2d0374)));}export function getDynamicServiceDefinitions(_0x559063){const _0x49df63=listDynamicServiceDefinitions(_0x559063);return _0x49df63['length']>0x0?_0x49df63:undefined;}export function findDynamicServiceDefinition(_0x1abbd6,_0x3f862c){const _0x2d2b02=a61_0x6c6d;return listDynamicServiceDefinitions(_0x1abbd6)['find'](_0xf66768=>_0xf66768[_0x2d2b02(0x149)]===_0x3f862c);}export function buildDynamicCommandDefinition(_0x5c712c,_0x43b36f){const _0x3da1c6=a61_0x6c6d;return{'service':_0x5c712c[_0x3da1c6(0x105)][_0x3da1c6(0xf9)],'command':dynamicCommandName(_0x43b36f),'description':_0x43b36f['description']||_0x3da1c6(0x152)+_0x43b36f[_0x3da1c6(0x10b)],'risk':_0x43b36f[_0x3da1c6(0x158)],..._0x43b36f[_0x3da1c6(0x158)]===_0x3da1c6(0x11e)?{}:{'confirmationDescription':buildDynamicConfirmationDescription(_0x43b36f)},'requiresAuth':!![],'requiresAppCode':!![],'args':_0x43b36f[_0x3da1c6(0x119)]['map'](_0x5c85bb=>({'name':_0x5c85bb[_0x3da1c6(0x109)],'description':_0x5c85bb[_0x3da1c6(0x13f)]||_0x5c85bb[_0x3da1c6(0x109)],'required':_0x5c85bb[_0x3da1c6(0x136)]})),'flags':_0x43b36f[_0x3da1c6(0x12f)][_0x3da1c6(0x139)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x43b36f),async 'dryRun'(_0x1ea2bf){const _0x37691e=_0x3da1c6,_0x33e22c=await compilePlan(_0x43b36f,_0x1ea2bf);return{'method':'SERVICE_TREE','url':_0x43b36f[_0x37691e(0x10b)],'body':{'target':targetPreview(_0x33e22c),'params':_0x33e22c[_0x37691e(0x14e)]},'description':_0x37691e(0x102)+_0x43b36f[_0x37691e(0x10b)]};},async 'execute'(_0x4cbc71){const _0x2a2520=_0x3da1c6,_0x588375=await compilePlan(_0x43b36f,_0x4cbc71),_0xc85a11=Date['now'](),_0x2b4aab=await executePlan(_0x588375,_0x43b36f,_0x4cbc71),_0x19f5c2=Date[_0x2a2520(0x12d)]()-_0xc85a11;return{'ok':!![],'data':{'service':_0x5c712c[_0x2a2520(0x105)],'command':_0x43b36f['cliPath'],'target':targetPreview(_0x588375),'result':_0x2b4aab,'elapsed':_0x19f5c2},'message':_0x2a2520(0x13b)+_0x43b36f[_0x2a2520(0x10b)]+_0x2a2520(0xf5)+_0x19f5c2+'ms'};}};}function buildDynamicConfirmationDescription(_0x5bd9c5){const _0x25ebb7=a61_0x6c6d,_0x10382c=_0x5bd9c5[_0x25ebb7(0x13f)]||_0x5bd9c5[_0x25ebb7(0x10b)],_0x1b595f=_0x5bd9c5[_0x25ebb7(0x158)]===_0x25ebb7(0x113)?'The\x20manifest\x20marks\x20this\x20command\x20as\x20a\x20high-risk\x20write.\x20It\x20may\x20make\x20business\x20changes\x20that\x20are\x20hard\x20to\x20reverse.':_0x25ebb7(0x10c);return _0x25ebb7(0x130)+_0x10382c+_0x25ebb7(0x11b)+_0x1b595f;}function dynamicCommandName(_0x532dd7){const _0x510dd0=a61_0x6c6d;return _0x532dd7[_0x510dd0(0x112)][_0x510dd0(0x132)](0x1)[_0x510dd0(0x141)]('\x20');}function riskTag(_0x21a177){const _0x2924c5=a61_0x6c6d;return _0x21a177==='read'?'':_0x2924c5(0x100)+_0x21a177+']';}function flagToCommandFlag(_0x3c14d8){const _0x3ef5ac=a61_0x6c6d;return{'name':_0x3c14d8[_0x3ef5ac(0x147)],'type':_0x3c14d8['type']==='json'?_0x3ef5ac(0x118):_0x3c14d8[_0x3ef5ac(0x143)],'description':_0x3c14d8[_0x3ef5ac(0x13f)]||_0x3c14d8[_0x3ef5ac(0x109)],'required':_0x3c14d8[_0x3ef5ac(0x136)],'default':isPrimitiveFlagDefault(_0x3c14d8['default'])?_0x3c14d8[_0x3ef5ac(0xff)]:undefined,'enum':_0x3c14d8[_0x3ef5ac(0x101)]};}async function compilePlan(_0x196208,_0x99724f){const _0x2174c6=a61_0x6c6d;return compileServiceTreeCommand(_0x196208,{'flags':_0x99724f[_0x2174c6(0x106)],'args':_0x99724f[_0x2174c6(0x119)],'context':await buildServiceContext(_0x196208,_0x99724f)});}async function buildServiceContext(_0x3cd989,_0x508386){const _0x513ec6=a61_0x6c6d,_0x16de8a={'appCode':_0x508386['appCode'],'env':_0x508386[_0x513ec6(0x114)],'envName':_0x508386[_0x513ec6(0x114)]};if(!usesRuntimeContext(_0x3cd989))return _0x16de8a;const _0x25494e=await getLoginUserInfo(),_0x6a4d1=pickFirst(_0x25494e[_0x513ec6(0x156)],_0x25494e['id']);return{..._0x16de8a,'user':_0x25494e,'userId':_0x6a4d1,'id':_0x25494e['id'],'username':pickFirst(_0x25494e[_0x513ec6(0x154)],_0x25494e[_0x513ec6(0x14d)],_0x25494e[_0x513ec6(0x140)]),'userName':_0x25494e['userName'],'nickname':pickFirst(_0x25494e[_0x513ec6(0x151)],_0x25494e['nickName']),'nickName':_0x25494e['nickName'],'tenantCode':_0x25494e[_0x513ec6(0x162)],'employeeId':_0x25494e[_0x513ec6(0x10d)]};}function usesRuntimeContext(_0x2c206f){const _0x39c48e=a61_0x6c6d;return _0x2c206f[_0x39c48e(0x127)][_0x39c48e(0x12c)](_0x58059f=>typeof _0x58059f[_0x39c48e(0x150)]===_0x39c48e(0x118)&&(_0x58059f['source'][_0x39c48e(0x123)](_0x39c48e(0xf8))||_0x58059f[_0x39c48e(0x150)]['startsWith']('ctx.')));}function pickFirst(..._0x505d9b){return _0x505d9b['find'](_0x5ea45d=>_0x5ea45d!==undefined&&_0x5ea45d!==null);}async function executePlan(_0x297caa,_0x3ab389,_0x48950e){const _0xab586d=a61_0x6c6d;if(_0x297caa[_0xab586d(0x157)]===_0xab586d(0x120)){const _0x2f552d=await resolveDatasetCode(_0x297caa,_0x3ab389,_0x48950e);return executeData(_0x2f552d,_0x297caa[_0xab586d(0x149)],_0x297caa['params']);}if(_0x297caa[_0xab586d(0x157)]===_0xab586d(0x15d)){if(!_0x297caa['sqlCode'])throw CliErrors[_0xab586d(0xfe)](_0xab586d(0x13b)+_0x3ab389[_0xab586d(0x10b)]+'\x20requires\x20target.sqlCode.');return executeSdkSql(_0x297caa[_0xab586d(0x117)],normalizeScalarParams(_0x297caa[_0xab586d(0x14e)]));}if(_0x297caa[_0xab586d(0x157)]===_0xab586d(0x15c)){const _0x496c74=_0x297caa[_0xab586d(0x103)]||_0x297caa[_0xab586d(0xfa)]||(_0x297caa['bffId']==null?'':String(_0x297caa[_0xab586d(0xfb)]));if(!_0x496c74)throw CliErrors[_0xab586d(0xfe)](_0xab586d(0x13b)+_0x3ab389[_0xab586d(0x10b)]+_0xab586d(0x11f));return executeSdkBff(_0x496c74,_0x297caa[_0xab586d(0x14e)]);}throw CliErrors[_0xab586d(0xfe)](_0xab586d(0x138)+_0x297caa[_0xab586d(0x157)]);}async function resolveDatasetCode(_0x36a777,_0x5104d6,_0x504ec3){const _0x78a6c8=a61_0x6c6d;if(_0x36a777[_0x78a6c8(0xf6)])return _0x36a777[_0x78a6c8(0xf6)];if(!_0x36a777['datatable'])throw CliErrors['validation'](_0x78a6c8(0x13b)+_0x5104d6[_0x78a6c8(0x10b)]+_0x78a6c8(0x15a));const _0x5dc6e5=await listDatasets(_0x504ec3[_0x78a6c8(0x137)]),_0x170d03=_0x5dc6e5['find'](_0x375e4f=>_0x375e4f[_0x78a6c8(0x133)]?.[_0x78a6c8(0x107)]===_0x36a777[_0x78a6c8(0x14a)]);if(!_0x170d03?.[_0x78a6c8(0xf9)])throw CliErrors[_0x78a6c8(0xfe)](_0x78a6c8(0x160)+_0x36a777[_0x78a6c8(0x14a)]+'\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20'+_0x504ec3[_0x78a6c8(0x137)]+'.',_0x78a6c8(0x10a));return _0x170d03[_0x78a6c8(0xf9)];}function applyAppBinding(_0x3eb8fc,_0x828a94,_0x1964e0){const _0xca92ce=a61_0x6c6d,_0x1200c2=_0x828a94[_0xca92ce(0x161)]['appRef'];if(!_0x1200c2)return;const _0x238d74=_0x3eb8fc['appBindings'][_0x1200c2];if(!_0x238d74)throw CliErrors['validation']('Unknown\x20appRef\x20\x22'+_0x1200c2+_0xca92ce(0x122)+_0x828a94[_0xca92ce(0x10b)]+'.',_0xca92ce(0x11d));const _0x3b7331=_0x238d74[_0xca92ce(0x13c)]||_0x238d74[_0xca92ce(0x137)];_0x3b7331&&!hasText(_0x1964e0[_0xca92ce(0x13c)])&&(_0x1964e0[_0xca92ce(0x13c)]=_0x3b7331),_0x238d74['app']&&!hasText(_0x1964e0[_0xca92ce(0x163)])&&!hasText(_0x1964e0[_0xca92ce(0x13c)])&&(_0x1964e0[_0xca92ce(0x163)]=_0x238d74['app']),_0x238d74[_0xca92ce(0x12b)]&&!hasText(_0x1964e0['env'])&&(_0x1964e0[_0xca92ce(0x12b)]=_0x238d74[_0xca92ce(0x12b)]);}function a61_0x6c6d(_0x2cd937,_0x14b190){_0x2cd937=_0x2cd937-0xf5;const _0x4c30b8=a61_0x4c30();let _0x6c6d7f=_0x4c30b8[_0x2cd937];return _0x6c6d7f;}function a61_0x4c30(){const _0x435421=['\x20\x20[','enum','Preview\x20dynamic\x20service\x20command:\x20','scriptName','Commands:','service','rawFlags','tableName','length','name','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','cliPath','The\x20manifest\x20marks\x20this\x20command\x20as\x20a\x20write.\x20It\x20may\x20change\x20business\x20data\x20or\x20service\x20state.','employeeId','padEnd','\x20service\x20detail\x20--service\x20','4057IKKikq','\x20\x20\x20\x20kind:\x20\x20\x20\x20','fullPath','high-risk-write','envName','\x20\x20\x20\x20sqlCode:\x20','normalizedManifest','sqlCode','string','args','25623gDcPgo','\x22.\x20','\x20\x20SERVICE\x20TREE\x20TARGET','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','read','\x20requires\x20target.functionName.','data','filter','\x22\x20in\x20service\x20command\x20','startsWith','trim','entries','5DIMXMe','mapTo','`\x20to\x20inspect\x20the\x20manifest.','\x20<command>\x20[flags]','number','env','some','now','flatMap','flags','This\x20will\x20run\x20Service\x20Tree\x20command\x20\x22','12PpNKjj','slice','dbtableConfig','appRef','6205398aUyXnG','required','appCode','Unsupported\x20service\x20target\x20kind:\x20','map','\x20\x20\x20\x20functionName:\x20','Service\x20command\x20','appcode','remainingArgs','fromEntries','description','loginName','join','\x20->\x20','type','\x20\x20\x20\x20datatable:\x20','\x20\x20\x20\x20command:\x20','\x20\x20MAP\x20TO','cliName','operator','command','datatable','boolean','3500ATCMUt','userName','params','6342042KnBfXW','source','nickname','Run\x20service\x20command\x20','106PESpcw','username','10584920qXJDFY','userId','kind','risk','45051EThxHz','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','push','bff','sql','180KWhure','Use\x20`','Cannot\x20resolve\x20datatable\x20\x22','target','tenantCode','app','\x20completed\x20in\x20','datasetCode','16133590MCivQm','context.','code','bffCode','bffId','find','tree','validation','default'];a61_0x4c30=function(){return _0x435421;};return a61_0x4c30();}function renderDynamicCommandHelp(_0x33b0e1){const _0x16b443=a61_0x6c6d,_0x11d695=[_0x16b443(0x11c),_0x16b443(0x111)+_0x33b0e1[_0x16b443(0x161)][_0x16b443(0x157)],_0x16b443(0x145)+_0x33b0e1[_0x16b443(0x161)]['command']];if(_0x33b0e1[_0x16b443(0x161)][_0x16b443(0xf6)])_0x11d695[_0x16b443(0x15b)]('\x20\x20\x20\x20datasetCode:\x20'+_0x33b0e1['target'][_0x16b443(0xf6)]);if(_0x33b0e1[_0x16b443(0x161)]['datatable'])_0x11d695[_0x16b443(0x15b)](_0x16b443(0x144)+_0x33b0e1[_0x16b443(0x161)][_0x16b443(0x14a)]);if(_0x33b0e1[_0x16b443(0x161)][_0x16b443(0x117)])_0x11d695['push'](_0x16b443(0x115)+_0x33b0e1[_0x16b443(0x161)][_0x16b443(0x117)]);if(_0x33b0e1[_0x16b443(0x161)]['scriptName'])_0x11d695[_0x16b443(0x15b)](_0x16b443(0x13a)+_0x33b0e1[_0x16b443(0x161)]['scriptName']);if(_0x33b0e1[_0x16b443(0x127)]['length']>0x0){_0x11d695[_0x16b443(0x15b)]('',_0x16b443(0x146));for(const _0x5396e0 of _0x33b0e1[_0x16b443(0x127)]){_0x11d695[_0x16b443(0x15b)]('\x20\x20\x20\x20'+(_0x5396e0['source']||'const')+_0x16b443(0x142)+_0x5396e0[_0x16b443(0x161)]+(_0x5396e0[_0x16b443(0x148)]?'.'+_0x5396e0[_0x16b443(0x148)]:''));}}return _0x11d695[_0x16b443(0x141)]('\x0a');}function targetPreview(_0xffc756){const _0x1b956d=a61_0x6c6d;return{'kind':_0xffc756[_0x1b956d(0x157)],'command':_0xffc756['command'],'appRef':_0xffc756[_0x1b956d(0x134)],'datasetCode':_0xffc756['datasetCode'],'datatable':_0xffc756[_0x1b956d(0x14a)],'sqlCode':_0xffc756[_0x1b956d(0x117)],'bffCode':_0xffc756['bffCode'],'bffId':_0xffc756['bffId'],'functionName':_0xffc756[_0x1b956d(0x103)]};}function normalizeScalarParams(_0xfc737a){const _0x4b0111=a61_0x6c6d;return Object[_0x4b0111(0x13e)](Object[_0x4b0111(0x125)](_0xfc737a)[_0x4b0111(0x121)](([,_0x187850])=>typeof _0x187850==='string'||typeof _0x187850==='number'));}function hasText(_0x3151bb){const _0x38ec71=a61_0x6c6d;return typeof _0x3151bb===_0x38ec71(0x118)&&_0x3151bb[_0x38ec71(0x124)]()[_0x38ec71(0x108)]>0x0;}function isPrimitiveFlagDefault(_0x1240ac){const _0x55e125=a61_0x6c6d;return _0x1240ac===undefined||typeof _0x1240ac==='string'||typeof _0x1240ac===_0x55e125(0x12a)||typeof _0x1240ac===_0x55e125(0x14b);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a62_0x40cb(_0x2801b5,_0x1fa3f0){_0x2801b5=_0x2801b5-0x145;const _0x18ee15=a62_0x18ee();let _0x40cb40=_0x18ee15[_0x2801b5];return _0x40cb40;}(function(_0x201b38,_0xc65af9){const _0x328ba0=a62_0x40cb,_0x39d701=_0x201b38();while(!![]){try{const _0x25487a=parseInt(_0x328ba0(0x16c))/0x1+parseInt(_0x328ba0(0x148))/0x2+parseInt(_0x328ba0(0x15d))/0x3*(-parseInt(_0x328ba0(0x164))/0x4)+-parseInt(_0x328ba0(0x154))/0x5*(parseInt(_0x328ba0(0x16a))/0x6)+parseInt(_0x328ba0(0x15b))/0x7*(parseInt(_0x328ba0(0x15f))/0x8)+-parseInt(_0x328ba0(0x163))/0x9+-parseInt(_0x328ba0(0x165))/0xa;if(_0x25487a===_0xc65af9)break;else _0x39d701['push'](_0x39d701['shift']());}catch(_0x534312){_0x39d701['push'](_0x39d701['shift']());}}}(a62_0x18ee,0x90fb2));function a62_0x18ee(){const _0x28f2a0=['target','].target','2839185UFGRag','845732ZAltGU','4025340GxfUPr','bff.exec','hasOwnProperty','scriptName','map','86730hLAgrN','fromEntries','686283ynsgXj','forEach','actions','functionName\x20must\x20be\x20a\x20non-empty\x20string.','1801468tHyLch','.resources','push','.target','.functionName','object','commands','call','trim','entries','action','kind','390FvurUC','prototype','error','bff','string','Use\x20functionName;\x20scriptName\x20is\x20not\x20part\x20of\x20the\x20runtime\x20Service\x20Tree\x20contract.','functionName','7hYGlLP','.scriptName','3yjNTBK','isArray','8509976qYdmWs','resources'];a62_0x18ee=function(){return _0x28f2a0;};return a62_0x18ee();}export function adaptServiceTreeManifestForLegacyFramework(_0x20bc22){const _0x3b9320=a62_0x40cb,_0x76f7a2=cloneJsonValue(_0x20bc22),_0x4b3809=[];if(!isObjectRecord(_0x76f7a2))return{'manifest':_0x76f7a2,'errors':_0x4b3809};return Array[_0x3b9320(0x15e)](_0x76f7a2[_0x3b9320(0x14e)])&&_0x76f7a2[_0x3b9320(0x14e)][_0x3b9320(0x145)]((_0x25a242,_0x26fb7d)=>{const _0x3c7663=_0x3b9320;if(!isObjectRecord(_0x25a242))return;adaptBffTarget(_0x25a242[_0x3c7663(0x161)],'$.commands['+_0x26fb7d+_0x3c7663(0x162),_0x4b3809);}),adaptResources(_0x76f7a2[_0x3b9320(0x160)],'$.resources',_0x4b3809),{'manifest':_0x76f7a2,'errors':_0x4b3809};}export function toPublicServiceTreeTarget(_0x188b00){const _0x4c4547=a62_0x40cb,{scriptName:_0x705966,..._0x3e690b}=_0x188b00;return typeof _0x705966===_0x4c4547(0x158)&&_0x705966[_0x4c4547(0x150)]()&&(_0x3e690b[_0x4c4547(0x15a)]=_0x705966),_0x3e690b;}export function toPublicNormalizedServiceTree(_0x1e6b4b){const _0xdcc2a8=a62_0x40cb;return{..._0x1e6b4b,'commands':_0x1e6b4b[_0xdcc2a8(0x14e)][_0xdcc2a8(0x169)](_0x505f27=>({..._0x505f27,'target':toPublicServiceTreeTarget(_0x505f27[_0xdcc2a8(0x161)])}))};}function adaptResources(_0x316aa0,_0x2a17f0,_0x1aef9d){const _0x396c9e=a62_0x40cb;if(!isObjectRecord(_0x316aa0))return;for(const [_0xb68ab0,_0x31e5fc]of Object[_0x396c9e(0x151)](_0x316aa0)){if(!isObjectRecord(_0x31e5fc))continue;const _0x23d567=_0x2a17f0+'.'+_0xb68ab0;if(isObjectRecord(_0x31e5fc[_0x396c9e(0x146)]))for(const [_0x1a10a9,_0x132b19]of Object['entries'](_0x31e5fc[_0x396c9e(0x146)])){if(!isObjectRecord(_0x132b19))continue;const _0x98ea92=_0x23d567+'.actions.'+_0x1a10a9,_0x4d93d3=isObjectRecord(_0x132b19[_0x396c9e(0x161)])&&_0x132b19['target'][_0x396c9e(0x153)]==='bff';adaptBffTarget(_0x132b19['target'],_0x98ea92+_0x396c9e(0x14b),_0x1aef9d),(_0x4d93d3||isBffAction(_0x132b19))&&adaptFunctionNameField(_0x132b19,_0x98ea92,_0x1aef9d);}adaptResources(_0x31e5fc['resources'],_0x23d567+_0x396c9e(0x149),_0x1aef9d);}}function adaptBffTarget(_0x4b2598,_0x4c467e,_0x4b4efa){const _0x323e27=a62_0x40cb;if(!isObjectRecord(_0x4b2598)||_0x4b2598[_0x323e27(0x153)]!=='bff')return;adaptFunctionNameField(_0x4b2598,_0x4c467e,_0x4b4efa);}function adaptFunctionNameField(_0x3005ff,_0x521a05,_0x268220){const _0x2df8c1=a62_0x40cb;Object[_0x2df8c1(0x155)][_0x2df8c1(0x167)][_0x2df8c1(0x14f)](_0x3005ff,_0x2df8c1(0x168))&&_0x268220[_0x2df8c1(0x14a)]({'level':_0x2df8c1(0x156),'path':_0x521a05+_0x2df8c1(0x15c),'message':_0x2df8c1(0x159)});if(Object[_0x2df8c1(0x155)][_0x2df8c1(0x167)][_0x2df8c1(0x14f)](_0x3005ff,_0x2df8c1(0x15a))){if(typeof _0x3005ff[_0x2df8c1(0x15a)]!=='string'||!_0x3005ff[_0x2df8c1(0x15a)]['trim']()){_0x268220[_0x2df8c1(0x14a)]({'level':'error','path':_0x521a05+_0x2df8c1(0x14c),'message':_0x2df8c1(0x147)}),delete _0x3005ff[_0x2df8c1(0x15a)];return;}_0x3005ff[_0x2df8c1(0x168)]=_0x3005ff[_0x2df8c1(0x15a)],delete _0x3005ff[_0x2df8c1(0x15a)];}}function isBffAction(_0x556d39){const _0x1736c2=a62_0x40cb;return _0x556d39['kind']===_0x1736c2(0x157)||_0x556d39[_0x1736c2(0x152)]===_0x1736c2(0x166)||_0x556d39['target']===_0x1736c2(0x166);}function cloneJsonValue(_0x4e7672){const _0x41acea=a62_0x40cb;if(Array[_0x41acea(0x15e)](_0x4e7672))return _0x4e7672['map'](_0x2b5cd3=>cloneJsonValue(_0x2b5cd3));if(isObjectRecord(_0x4e7672))return Object[_0x41acea(0x16b)](Object[_0x41acea(0x151)](_0x4e7672)[_0x41acea(0x169)](([_0x56a456,_0x41243b])=>[_0x56a456,cloneJsonValue(_0x41243b)]));return _0x4e7672;}function isObjectRecord(_0x2831d2){const _0x4bb4bf=a62_0x40cb;return Boolean(_0x2831d2)&&typeof _0x2831d2===_0x4bb4bf(0x14d)&&!Array[_0x4bb4bf(0x15e)](_0x2831d2);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a63_0x6b6460=a63_0x64ff;(function(_0x4ded50,_0xbaeefc){const _0x2dfebd=a63_0x64ff,_0x2be13d=_0x4ded50();while(!![]){try{const _0x58964f=parseInt(_0x2dfebd(0x1e9))/0x1+-parseInt(_0x2dfebd(0x1c7))/0x2*(-parseInt(_0x2dfebd(0x1f7))/0x3)+-parseInt(_0x2dfebd(0x1b8))/0x4+-parseInt(_0x2dfebd(0x1d9))/0x5+parseInt(_0x2dfebd(0x1f5))/0x6+parseInt(_0x2dfebd(0x1f6))/0x7*(parseInt(_0x2dfebd(0x1ba))/0x8)+parseInt(_0x2dfebd(0x1e5))/0x9;if(_0x58964f===_0xbaeefc)break;else _0x2be13d['push'](_0x2be13d['shift']());}catch(_0x3878d6){_0x2be13d['push'](_0x2be13d['shift']());}}}(a63_0x443f,0x4b255));function a63_0x443f(){const _0x118032=['WRITE','lower\x20kebab-case\x20service\x20code','validate','registry','string','manifests','kind','entry','636355zBcHMg','manifest','write','service','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','\x20service(s),\x20updated\x20','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.','registryPath','cliPath','Local\x20service\x20code,\x20for\x20example\x20crm','errors','file','634023uYyiOd','report','remove','Local\x20service\x20not\x20found:\x20','211084PvmFEL','length','warnings','imported','Exported\x20service\x20','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','version','Removed\x20service\x20','source','reduce','entries','str','966210NaaIaZ','3010akFGyM','37683cybkmd','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','target','flags','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','Remove\x20a\x20Service\x20Tree\x20manifest\x20from\x20the\x20local\x20runtime\x20registry','filePath','name','\x20service\x20','1430208vJkGvM','export','904zYfRuq','normalizedManifest','replaced','description','map','Removes\x20the\x20given\x20service\x20manifest\x20from\x20the\x20local\x20Service\x20Tree\x20registry.\x20Dynamic\x20commands\x20from\x20that\x20manifest\x20will\x20no\x20longer\x20be\x20available.','importedAt','Imported','risk','Service\x20Tree\x20manifest\x20file\x20path','import','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','Service\x20manifest\x20validation\x20passed.','48QSsuCT','detail','hash','serviceCode','read','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','Service\x20registry\x20validation\x20passed.','serviceCount','updated','commands'];a63_0x443f=function(){return _0x118032;};return a63_0x443f();}import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';import{toPublicNormalizedServiceTree,toPublicServiceTreeTarget}from'../../commands/service/function-name-adapter.js';const FILE_FLAG={'name':a63_0x6b6460(0x1e4),'type':a63_0x6b6460(0x1d5),'required':!![],'description':a63_0x6b6460(0x1c3)},SERVICE_FLAG={'name':a63_0x6b6460(0x1dc),'type':a63_0x6b6460(0x1d5),'required':!![],'description':a63_0x6b6460(0x1e2),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a63_0x6b6460(0x1d2)}};function summarizeService(_0x22a791){const _0x14acde=a63_0x6b6460;return{'serviceCode':_0x22a791['serviceCode'],'name':_0x22a791[_0x14acde(0x1bb)][_0x14acde(0x1dc)][_0x14acde(0x1b6)],'version':_0x22a791['version'],'importedAt':_0x22a791[_0x14acde(0x1c0)],'source':_0x22a791[_0x14acde(0x1f1)],'commandCount':_0x22a791['normalizedManifest'][_0x14acde(0x1d0)]['length'],'commands':_0x22a791[_0x14acde(0x1bb)][_0x14acde(0x1d0)][_0x14acde(0x1be)](_0x58b528=>({'path':_0x58b528[_0x14acde(0x1e1)],'description':_0x58b528[_0x14acde(0x1bd)],'risk':_0x58b528[_0x14acde(0x1c2)],'target':toPublicServiceTreeTarget(_0x58b528[_0x14acde(0x1f9)]),'flags':_0x58b528[_0x14acde(0x1fa)][_0x14acde(0x1be)](_0x4543f3=>({'name':_0x4543f3['name'],'cliName':_0x4543f3['cliName'],'type':_0x4543f3['type'],'required':_0x4543f3['required']===!![]}))}))};}function summarizeLoadedManifest(_0x40c850){const _0x5c58a5=a63_0x6b6460;return{'service':_0x40c850[_0x5c58a5(0x1bb)]?.[_0x5c58a5(0x1dc)],'version':_0x40c850[_0x5c58a5(0x1bb)]?.[_0x5c58a5(0x1ef)],'commandCount':_0x40c850[_0x5c58a5(0x1bb)]?.[_0x5c58a5(0x1d0)]['length']??0x0,'commands':_0x40c850['normalizedManifest']?.[_0x5c58a5(0x1d0)][_0x5c58a5(0x1be)](_0x11e316=>({'path':_0x11e316[_0x5c58a5(0x1e1)],'risk':_0x11e316[_0x5c58a5(0x1c2)],'target':toPublicServiceTreeTarget(_0x11e316[_0x5c58a5(0x1f9)])}))??[],'registryIndex':_0x40c850['registryIndex'],'registryServiceCode':_0x40c850['registryServiceCode'],'errors':_0x40c850[_0x5c58a5(0x1e6)]['errors'],'warnings':_0x40c850[_0x5c58a5(0x1e6)][_0x5c58a5(0x1eb)]};}function a63_0x64ff(_0x3804d8,_0x2c0197){_0x3804d8=_0x3804d8-0x1b5;const _0x443fbe=a63_0x443f();let _0x64ff5a=_0x443fbe[_0x3804d8];return _0x64ff5a;}export const serviceDefinitions=[{'service':'service','command':a63_0x6b6460(0x1d3),'description':a63_0x6b6460(0x1dd),'risk':a63_0x6b6460(0x1cb),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x2a8740){const _0x130df7=a63_0x6b6460,_0x672957=loadServiceManifestFromFile(_0x2a8740[_0x130df7(0x1f4)]('file'));if(!_0x672957[_0x130df7(0x1e6)]['ok'])return{'ok':![],'data':{'file':_0x672957[_0x130df7(0x1b5)],'hash':_0x672957['hash'],'kind':_0x672957[_0x130df7(0x1d7)],'serviceCount':_0x672957[_0x130df7(0x1d6)][_0x130df7(0x1ea)],'services':_0x672957['manifests']['map'](summarizeLoadedManifest),'errors':_0x672957[_0x130df7(0x1e6)][_0x130df7(0x1e3)],'warnings':_0x672957[_0x130df7(0x1e6)]['warnings']},'message':formatValidationFailure(_0x672957['report'])};if(_0x672957[_0x130df7(0x1d7)]===_0x130df7(0x1d4)||_0x672957[_0x130df7(0x1d6)][_0x130df7(0x1ea)]!==0x1)return{'ok':!![],'data':{'file':_0x672957[_0x130df7(0x1b5)],'hash':_0x672957['hash'],'kind':_0x672957['kind'],'serviceCount':_0x672957[_0x130df7(0x1d6)][_0x130df7(0x1ea)],'commandCount':_0x672957[_0x130df7(0x1d6)][_0x130df7(0x1f2)]((_0x38446c,_0x2ff4b6)=>_0x38446c+(_0x2ff4b6[_0x130df7(0x1bb)]?.[_0x130df7(0x1d0)][_0x130df7(0x1ea)]??0x0),0x0),'services':_0x672957[_0x130df7(0x1d6)]['map'](summarizeLoadedManifest),'warnings':_0x672957[_0x130df7(0x1e6)][_0x130df7(0x1eb)]},'message':_0x130df7(0x1cd)};return{'ok':!![],'data':{'file':_0x672957['filePath'],'hash':_0x672957[_0x130df7(0x1c9)],'kind':_0x672957[_0x130df7(0x1d7)],'service':_0x672957[_0x130df7(0x1bb)]?.['service'],'version':_0x672957[_0x130df7(0x1bb)]?.[_0x130df7(0x1ef)],'commandCount':_0x672957[_0x130df7(0x1bb)]?.[_0x130df7(0x1d0)][_0x130df7(0x1ea)]??0x0,'commands':_0x672957[_0x130df7(0x1bb)]?.[_0x130df7(0x1d0)][_0x130df7(0x1be)](_0x56c0a1=>({'path':_0x56c0a1['cliPath'],'risk':_0x56c0a1['risk'],'target':toPublicServiceTreeTarget(_0x56c0a1[_0x130df7(0x1f9)])})),'warnings':_0x672957[_0x130df7(0x1e6)][_0x130df7(0x1eb)]},'message':_0x130df7(0x1c6)};}},{'service':a63_0x6b6460(0x1dc),'command':a63_0x6b6460(0x1c4),'description':a63_0x6b6460(0x1fb),'risk':a63_0x6b6460(0x1db),'confirmationDescription':'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.','requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x53080e){const _0x250a7a=a63_0x6b6460,_0x69e0c8=loadServiceManifestFromFile(_0x53080e['str'](_0x250a7a(0x1e4)));return{'method':_0x250a7a(0x1d1),'url':getServiceRegistryPath(),'body':{'file':_0x69e0c8[_0x250a7a(0x1b5)],'hash':_0x69e0c8[_0x250a7a(0x1c9)],'kind':_0x69e0c8['kind'],'ok':_0x69e0c8[_0x250a7a(0x1e6)]['ok'],'service':_0x69e0c8['normalizedManifest']?.[_0x250a7a(0x1dc)],'version':_0x69e0c8['normalizedManifest']?.[_0x250a7a(0x1ef)],'serviceCount':_0x69e0c8['manifests'][_0x250a7a(0x1ea)],'services':_0x69e0c8['manifests']['map'](_0x342094=>({'service':_0x342094[_0x250a7a(0x1bb)]?.[_0x250a7a(0x1dc)],'version':_0x342094[_0x250a7a(0x1bb)]?.[_0x250a7a(0x1ef)],'commandCount':_0x342094[_0x250a7a(0x1bb)]?.[_0x250a7a(0x1d0)][_0x250a7a(0x1ea)]??0x0,'errors':_0x342094[_0x250a7a(0x1e6)][_0x250a7a(0x1e3)]})),'errors':_0x69e0c8[_0x250a7a(0x1e6)][_0x250a7a(0x1e3)],'commandCount':_0x69e0c8[_0x250a7a(0x1bb)]?.['commands']['length']??0x0},'description':_0x250a7a(0x1c5)};},async 'execute'(_0x41c621){const _0x37c1a7=a63_0x6b6460,_0x42ed19=importServiceManifest(_0x41c621[_0x37c1a7(0x1f4)]('file'));if(_0x42ed19[_0x37c1a7(0x1f3)][_0x37c1a7(0x1ea)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x42ed19[_0x37c1a7(0x1e0)],'imported':_0x42ed19[_0x37c1a7(0x1ec)],'updated':_0x42ed19['updated'],'serviceCount':_0x42ed19[_0x37c1a7(0x1ce)],'services':_0x42ed19['entries'][_0x37c1a7(0x1be)](summarizeService)},'message':'Imported\x20'+_0x42ed19[_0x37c1a7(0x1ec)]+_0x37c1a7(0x1de)+_0x42ed19[_0x37c1a7(0x1cf)]+'\x20service(s).'};return{'ok':!![],'data':{'registryPath':_0x42ed19['registryPath'],'replaced':_0x42ed19[_0x37c1a7(0x1bc)],'imported':_0x42ed19[_0x37c1a7(0x1ec)],'updated':_0x42ed19[_0x37c1a7(0x1cf)],'serviceCount':_0x42ed19[_0x37c1a7(0x1ce)],'service':summarizeService(_0x42ed19[_0x37c1a7(0x1d8)])},'message':(_0x42ed19['replaced']?'Updated':_0x37c1a7(0x1c1))+_0x37c1a7(0x1b7)+_0x42ed19[_0x37c1a7(0x1d8)]['serviceCode']+'.'};}},{'service':'service','command':a63_0x6b6460(0x1b9),'description':'Export\x20the\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','risk':a63_0x6b6460(0x1db),'confirmationDescription':a63_0x6b6460(0x1df),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x18c257){const _0x1ebcab=a63_0x6b6460,_0x935569=getLocalServiceEntry(_0x18c257['str']('service'));return{'method':'WRITE','url':_0x18c257[_0x1ebcab(0x1f4)](_0x1ebcab(0x1e4)),'body':{'service':_0x18c257[_0x1ebcab(0x1f4)](_0x1ebcab(0x1dc)),'found':Boolean(_0x935569),'version':_0x935569?.['version'],'source':_0x935569?.[_0x1ebcab(0x1f1)]},'description':'Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json'};},async 'execute'(_0x212d68){const _0x166b04=a63_0x6b6460,_0x1a1590=exportServiceManifest(_0x212d68[_0x166b04(0x1f4)](_0x166b04(0x1dc)),_0x212d68[_0x166b04(0x1f4)](_0x166b04(0x1e4)));return{'ok':!![],'data':{'registryPath':_0x1a1590[_0x166b04(0x1e0)],'file':_0x1a1590[_0x166b04(0x1b5)],'service':summarizeService(_0x1a1590[_0x166b04(0x1d8)])},'message':_0x166b04(0x1ed)+_0x1a1590[_0x166b04(0x1d8)][_0x166b04(0x1ca)]+'.'};}},{'service':a63_0x6b6460(0x1dc),'command':'list','description':a63_0x6b6460(0x1f8),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x49bbfb=a63_0x6b6460,_0xb1abc9=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0xb1abc9[_0x49bbfb(0x1ea)],'services':_0xb1abc9['map'](summarizeService)}};}},{'service':'service','command':a63_0x6b6460(0x1e7),'description':a63_0x6b6460(0x1fc),'risk':a63_0x6b6460(0x1db),'confirmationDescription':a63_0x6b6460(0x1bf),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x1059c8){const _0x40f7fb=a63_0x6b6460,_0x8d5c5d=getLocalServiceEntry(_0x1059c8[_0x40f7fb(0x1f4)]('service'));return{'method':_0x40f7fb(0x1d1),'url':getServiceRegistryPath(),'body':{'service':_0x1059c8[_0x40f7fb(0x1f4)](_0x40f7fb(0x1dc)),'found':Boolean(_0x8d5c5d),'version':_0x8d5c5d?.[_0x40f7fb(0x1ef)],'source':_0x8d5c5d?.[_0x40f7fb(0x1f1)]},'description':_0x40f7fb(0x1ee)};},async 'execute'(_0xe906b6){const _0x5c0f09=a63_0x6b6460,_0x1c3788=removeServiceManifest(_0xe906b6[_0x5c0f09(0x1f4)]('service'));return{'ok':!![],'data':{'registryPath':_0x1c3788[_0x5c0f09(0x1e0)],'serviceCount':_0x1c3788['serviceCount'],'service':summarizeService(_0x1c3788[_0x5c0f09(0x1d8)])},'message':_0x5c0f09(0x1f0)+_0x1c3788[_0x5c0f09(0x1d8)]['serviceCode']+'.'};}},{'service':a63_0x6b6460(0x1dc),'command':a63_0x6b6460(0x1c8),'description':a63_0x6b6460(0x1cc),'risk':a63_0x6b6460(0x1cb),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x15eff0){const _0x21852f=a63_0x6b6460,_0x3d6533=getLocalServiceEntry(_0x15eff0[_0x21852f(0x1f4)](_0x21852f(0x1dc)));if(!_0x3d6533)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x15eff0['str'](_0x21852f(0x1dc))},'message':_0x21852f(0x1e8)+_0x15eff0['str'](_0x21852f(0x1dc))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x3d6533),'manifest':_0x3d6533[_0x21852f(0x1da)],'normalizedManifest':toPublicNormalizedServiceTree(_0x3d6533[_0x21852f(0x1bb)])}};}}];
|
|
1
|
+
const a63_0x575cae=a63_0x4b1b;(function(_0x1beec5,_0x4fba52){const _0x2ba729=a63_0x4b1b,_0x231d38=_0x1beec5();while(!![]){try{const _0x354c3d=parseInt(_0x2ba729(0x1ac))/0x1+parseInt(_0x2ba729(0x1a5))/0x2+-parseInt(_0x2ba729(0x174))/0x3*(parseInt(_0x2ba729(0x191))/0x4)+parseInt(_0x2ba729(0x170))/0x5+parseInt(_0x2ba729(0x175))/0x6*(parseInt(_0x2ba729(0x1a6))/0x7)+-parseInt(_0x2ba729(0x19c))/0x8+-parseInt(_0x2ba729(0x1a2))/0x9;if(_0x354c3d===_0x4fba52)break;else _0x231d38['push'](_0x231d38['shift']());}catch(_0x196d4e){_0x231d38['push'](_0x231d38['shift']());}}}(a63_0x3794,0x5d440));function a63_0x4b1b(_0xb2d07e,_0x38932a){_0xb2d07e=_0xb2d07e-0x16b;const _0x3794a8=a63_0x3794();let _0x4b1b94=_0x3794a8[_0xb2d07e];return _0x4b1b94;}import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';import{toPublicNormalizedServiceTree,toPublicServiceTreeTarget}from'../../commands/service/function-name-adapter.js';function a63_0x3794(){const _0x103874=['file','filePath','str','string','export','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','entries','imported','3719544FlJXyO','Updated','registryServiceCode','updated','registryPath','lower\x20kebab-case\x20service\x20code','685782jVvLSh','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','normalizedManifest','189418hbdvZh','14441HOUeCY','WRITE','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','serviceCode','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.','manifest','395297ohzbQe','source','serviceCount','read','warnings','length','entry','\x20service(s),\x20updated\x20','2678115cyhzGB','remove','version','target','207483FgEoYB','1110cJnusS','Removes\x20the\x20given\x20service\x20manifest\x20from\x20the\x20local\x20Service\x20Tree\x20registry.\x20Dynamic\x20commands\x20from\x20that\x20manifest\x20will\x20no\x20longer\x20be\x20available.','commands','\x20service\x20','service','replaced','list','name','Exported\x20service\x20','cliName','write','Imported','import','hash','importedAt','\x20service(s).','manifests','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','report','registry','description','errors','cliPath','Service\x20registry\x20validation\x20passed.','kind','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','Export\x20the\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','map','28gjlmVw','risk','registryIndex'];a63_0x3794=function(){return _0x103874;};return a63_0x3794();}const FILE_FLAG={'name':a63_0x575cae(0x194),'type':a63_0x575cae(0x197),'required':!![],'description':'Service\x20Tree\x20manifest\x20file\x20path'},SERVICE_FLAG={'name':a63_0x575cae(0x179),'type':a63_0x575cae(0x197),'required':!![],'description':'Local\x20service\x20code,\x20for\x20example\x20crm','pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a63_0x575cae(0x1a1)}};function summarizeService(_0xdd638c){const _0x148c09=a63_0x575cae;return{'serviceCode':_0xdd638c[_0x148c09(0x1a9)],'name':_0xdd638c[_0x148c09(0x1a4)][_0x148c09(0x179)]['name'],'version':_0xdd638c['version'],'importedAt':_0xdd638c[_0x148c09(0x183)],'source':_0xdd638c[_0x148c09(0x1ad)],'commandCount':_0xdd638c[_0x148c09(0x1a4)]['commands'][_0x148c09(0x16d)],'commands':_0xdd638c['normalizedManifest']['commands']['map'](_0x3c0a23=>({'path':_0x3c0a23[_0x148c09(0x18b)],'description':_0x3c0a23[_0x148c09(0x189)],'risk':_0x3c0a23[_0x148c09(0x192)],'target':toPublicServiceTreeTarget(_0x3c0a23['target']),'flags':_0x3c0a23['flags'][_0x148c09(0x190)](_0x21dd0d=>({'name':_0x21dd0d[_0x148c09(0x17c)],'cliName':_0x21dd0d[_0x148c09(0x17e)],'type':_0x21dd0d['type'],'required':_0x21dd0d['required']===!![]}))}))};}function summarizeLoadedManifest(_0x651681){const _0x29af90=a63_0x575cae;return{'service':_0x651681[_0x29af90(0x1a4)]?.[_0x29af90(0x179)],'version':_0x651681[_0x29af90(0x1a4)]?.[_0x29af90(0x172)],'commandCount':_0x651681['normalizedManifest']?.['commands'][_0x29af90(0x16d)]??0x0,'commands':_0x651681['normalizedManifest']?.['commands'][_0x29af90(0x190)](_0x480760=>({'path':_0x480760[_0x29af90(0x18b)],'risk':_0x480760['risk'],'target':toPublicServiceTreeTarget(_0x480760['target'])}))??[],'registryIndex':_0x651681[_0x29af90(0x193)],'registryServiceCode':_0x651681[_0x29af90(0x19e)],'errors':_0x651681[_0x29af90(0x187)][_0x29af90(0x18a)],'warnings':_0x651681[_0x29af90(0x187)][_0x29af90(0x16c)]};}export const serviceDefinitions=[{'service':'service','command':'validate','description':'Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','risk':a63_0x575cae(0x16b),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x387d20){const _0x1effd7=a63_0x575cae,_0x5b44d2=loadServiceManifestFromFile(_0x387d20['str'](_0x1effd7(0x194)));if(!_0x5b44d2[_0x1effd7(0x187)]['ok'])return{'ok':![],'data':{'file':_0x5b44d2[_0x1effd7(0x195)],'hash':_0x5b44d2[_0x1effd7(0x182)],'kind':_0x5b44d2[_0x1effd7(0x18d)],'serviceCount':_0x5b44d2[_0x1effd7(0x185)][_0x1effd7(0x16d)],'services':_0x5b44d2[_0x1effd7(0x185)][_0x1effd7(0x190)](summarizeLoadedManifest),'errors':_0x5b44d2[_0x1effd7(0x187)][_0x1effd7(0x18a)],'warnings':_0x5b44d2[_0x1effd7(0x187)][_0x1effd7(0x16c)]},'message':formatValidationFailure(_0x5b44d2[_0x1effd7(0x187)])};if(_0x5b44d2['kind']===_0x1effd7(0x188)||_0x5b44d2['manifests'][_0x1effd7(0x16d)]!==0x1)return{'ok':!![],'data':{'file':_0x5b44d2[_0x1effd7(0x195)],'hash':_0x5b44d2[_0x1effd7(0x182)],'kind':_0x5b44d2[_0x1effd7(0x18d)],'serviceCount':_0x5b44d2[_0x1effd7(0x185)][_0x1effd7(0x16d)],'commandCount':_0x5b44d2[_0x1effd7(0x185)]['reduce']((_0x1dde94,_0x47565a)=>_0x1dde94+(_0x47565a[_0x1effd7(0x1a4)]?.['commands'][_0x1effd7(0x16d)]??0x0),0x0),'services':_0x5b44d2[_0x1effd7(0x185)][_0x1effd7(0x190)](summarizeLoadedManifest),'warnings':_0x5b44d2['report']['warnings']},'message':_0x1effd7(0x18c)};return{'ok':!![],'data':{'file':_0x5b44d2[_0x1effd7(0x195)],'hash':_0x5b44d2['hash'],'kind':_0x5b44d2[_0x1effd7(0x18d)],'service':_0x5b44d2[_0x1effd7(0x1a4)]?.['service'],'version':_0x5b44d2[_0x1effd7(0x1a4)]?.[_0x1effd7(0x172)],'commandCount':_0x5b44d2[_0x1effd7(0x1a4)]?.[_0x1effd7(0x177)]['length']??0x0,'commands':_0x5b44d2[_0x1effd7(0x1a4)]?.[_0x1effd7(0x177)]['map'](_0x3ac0f8=>({'path':_0x3ac0f8[_0x1effd7(0x18b)],'risk':_0x3ac0f8[_0x1effd7(0x192)],'target':toPublicServiceTreeTarget(_0x3ac0f8[_0x1effd7(0x173)])})),'warnings':_0x5b44d2['report'][_0x1effd7(0x16c)]},'message':'Service\x20manifest\x20validation\x20passed.'};}},{'service':'service','command':a63_0x575cae(0x181),'description':a63_0x575cae(0x18e),'risk':a63_0x575cae(0x17f),'confirmationDescription':a63_0x575cae(0x1aa),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x479f69){const _0x53a7f0=a63_0x575cae,_0x459cfe=loadServiceManifestFromFile(_0x479f69[_0x53a7f0(0x196)](_0x53a7f0(0x194)));return{'method':_0x53a7f0(0x1a7),'url':getServiceRegistryPath(),'body':{'file':_0x459cfe['filePath'],'hash':_0x459cfe['hash'],'kind':_0x459cfe[_0x53a7f0(0x18d)],'ok':_0x459cfe[_0x53a7f0(0x187)]['ok'],'service':_0x459cfe[_0x53a7f0(0x1a4)]?.['service'],'version':_0x459cfe['normalizedManifest']?.[_0x53a7f0(0x172)],'serviceCount':_0x459cfe[_0x53a7f0(0x185)]['length'],'services':_0x459cfe[_0x53a7f0(0x185)][_0x53a7f0(0x190)](_0x413599=>({'service':_0x413599[_0x53a7f0(0x1a4)]?.[_0x53a7f0(0x179)],'version':_0x413599[_0x53a7f0(0x1a4)]?.[_0x53a7f0(0x172)],'commandCount':_0x413599['normalizedManifest']?.[_0x53a7f0(0x177)][_0x53a7f0(0x16d)]??0x0,'errors':_0x413599[_0x53a7f0(0x187)][_0x53a7f0(0x18a)]})),'errors':_0x459cfe[_0x53a7f0(0x187)][_0x53a7f0(0x18a)],'commandCount':_0x459cfe[_0x53a7f0(0x1a4)]?.[_0x53a7f0(0x177)][_0x53a7f0(0x16d)]??0x0},'description':_0x53a7f0(0x1a8)};},async 'execute'(_0x373fb0){const _0x226b11=a63_0x575cae,_0x36995f=importServiceManifest(_0x373fb0[_0x226b11(0x196)](_0x226b11(0x194)));if(_0x36995f['entries'][_0x226b11(0x16d)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x36995f[_0x226b11(0x1a0)],'imported':_0x36995f[_0x226b11(0x19b)],'updated':_0x36995f['updated'],'serviceCount':_0x36995f['serviceCount'],'services':_0x36995f[_0x226b11(0x19a)][_0x226b11(0x190)](summarizeService)},'message':'Imported\x20'+_0x36995f[_0x226b11(0x19b)]+_0x226b11(0x16f)+_0x36995f['updated']+_0x226b11(0x184)};return{'ok':!![],'data':{'registryPath':_0x36995f[_0x226b11(0x1a0)],'replaced':_0x36995f[_0x226b11(0x17a)],'imported':_0x36995f['imported'],'updated':_0x36995f[_0x226b11(0x19f)],'serviceCount':_0x36995f['serviceCount'],'service':summarizeService(_0x36995f[_0x226b11(0x16e)])},'message':(_0x36995f['replaced']?_0x226b11(0x19d):_0x226b11(0x180))+_0x226b11(0x178)+_0x36995f[_0x226b11(0x16e)][_0x226b11(0x1a9)]+'.'};}},{'service':a63_0x575cae(0x179),'command':a63_0x575cae(0x198),'description':a63_0x575cae(0x18f),'risk':a63_0x575cae(0x17f),'confirmationDescription':'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.','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x24d6c3){const _0x1121da=a63_0x575cae,_0x492841=getLocalServiceEntry(_0x24d6c3['str'](_0x1121da(0x179)));return{'method':_0x1121da(0x1a7),'url':_0x24d6c3[_0x1121da(0x196)]('file'),'body':{'service':_0x24d6c3[_0x1121da(0x196)](_0x1121da(0x179)),'found':Boolean(_0x492841),'version':_0x492841?.[_0x1121da(0x172)],'source':_0x492841?.[_0x1121da(0x1ad)]},'description':_0x1121da(0x1a3)};},async 'execute'(_0x46248f){const _0x2ce42a=a63_0x575cae,_0x1930ec=exportServiceManifest(_0x46248f[_0x2ce42a(0x196)](_0x2ce42a(0x179)),_0x46248f[_0x2ce42a(0x196)](_0x2ce42a(0x194)));return{'ok':!![],'data':{'registryPath':_0x1930ec[_0x2ce42a(0x1a0)],'file':_0x1930ec[_0x2ce42a(0x195)],'service':summarizeService(_0x1930ec['entry'])},'message':_0x2ce42a(0x17d)+_0x1930ec[_0x2ce42a(0x16e)]['serviceCode']+'.'};}},{'service':a63_0x575cae(0x179),'command':a63_0x575cae(0x17b),'description':a63_0x575cae(0x199),'risk':a63_0x575cae(0x16b),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x4d1e98=a63_0x575cae,_0x2897d0=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x2897d0['length'],'services':_0x2897d0[_0x4d1e98(0x190)](summarizeService)}};}},{'service':'service','command':a63_0x575cae(0x171),'description':'Remove\x20a\x20Service\x20Tree\x20manifest\x20from\x20the\x20local\x20runtime\x20registry','risk':a63_0x575cae(0x17f),'confirmationDescription':a63_0x575cae(0x176),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x4f9c3b){const _0x15f57c=a63_0x575cae,_0x36a99e=getLocalServiceEntry(_0x4f9c3b[_0x15f57c(0x196)](_0x15f57c(0x179)));return{'method':_0x15f57c(0x1a7),'url':getServiceRegistryPath(),'body':{'service':_0x4f9c3b[_0x15f57c(0x196)](_0x15f57c(0x179)),'found':Boolean(_0x36a99e),'version':_0x36a99e?.['version'],'source':_0x36a99e?.['source']},'description':_0x15f57c(0x186)};},async 'execute'(_0x51da28){const _0x15e896=a63_0x575cae,_0xca03ec=removeServiceManifest(_0x51da28[_0x15e896(0x196)](_0x15e896(0x179)));return{'ok':!![],'data':{'registryPath':_0xca03ec[_0x15e896(0x1a0)],'serviceCount':_0xca03ec[_0x15e896(0x1ae)],'service':summarizeService(_0xca03ec[_0x15e896(0x16e)])},'message':'Removed\x20service\x20'+_0xca03ec[_0x15e896(0x16e)][_0x15e896(0x1a9)]+'.'};}},{'service':'service','command':'detail','description':'Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x64949c){const _0x1cc72e=a63_0x575cae,_0x87693e=getLocalServiceEntry(_0x64949c[_0x1cc72e(0x196)](_0x1cc72e(0x179)));if(!_0x87693e)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x64949c[_0x1cc72e(0x196)](_0x1cc72e(0x179))},'message':'Local\x20service\x20not\x20found:\x20'+_0x64949c['str'](_0x1cc72e(0x179))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x87693e),'manifest':_0x87693e[_0x1cc72e(0x1ab)],'normalizedManifest':toPublicNormalizedServiceTree(_0x87693e[_0x1cc72e(0x1a4)])}};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a64_0x26d2f9=a64_0x1cbb;(function(_0x2d2e96,_0x373be1){const _0x212778=a64_0x1cbb,_0x11eb85=_0x2d2e96();while(!![]){try{const _0x1a2110=-parseInt(_0x212778(0x1ee))/0x1+parseInt(_0x212778(0x21a))/0x2*(-parseInt(_0x212778(0x1dc))/0x3)+-parseInt(_0x212778(0x1e0))/0x4+parseInt(_0x212778(0x201))/0x5*(parseInt(_0x212778(0x1e5))/0x6)+parseInt(_0x212778(0x1e6))/0x7*(-parseInt(_0x212778(0x1e3))/0x8)+-parseInt(_0x212778(0x21d))/0x9+-parseInt(_0x212778(0x1d8))/0xa*(-parseInt(_0x212778(0x1f5))/0xb);if(_0x1a2110===_0x373be1)break;else _0x11eb85['push'](_0x11eb85['shift']());}catch(_0x2cb444){_0x11eb85['push'](_0x11eb85['shift']());}}}(a64_0x4cf3,0x1afa7));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';function a64_0x1cbb(_0x2b03f9,_0x526c11){_0x2b03f9=_0x2b03f9-0x1d8;const _0x4cf3e5=a64_0x4cf3();let _0x1cbbad=_0x4cf3e5[_0x2b03f9];return _0x1cbbad;}import{normalizeServiceTreeManifest,validateServiceTreeManifest}from'@lovrabet/cli-framework';function a64_0x4cf3(){const _0x15dd49=['registryIndex','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','normalizedManifest','version','schemaVersion','Invalid\x20service\x20registry\x20JSON:\x20','commandCount','trim','message','report','Cannot\x20write\x20service\x20registry:\x20','warnings','Invalid\x20service\x20manifest\x20JSON:\x20','2DVLcQC','updatedAt','CliError','1807209UTEqbG','bff\x20target\x20requires\x20functionName.','kind','service','path','ENOENT','manifests','target','now','.tmp','validation','sort','importedAt','manifest','length','].manifest.','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','10OiBVNL','].manifest','parse','join','607833TJsoiM','description','code','utf8','742820eNKBkL','services','map','456GREiIp','splice','1122DHiUou','18039jxPOAl','service.json','push','startsWith','toISOString','flatMap','Remove\x20or\x20migrate\x20','Unsupported\x20service\x20registry\x20schemaVersion:\x20','86425dVALFl','hex','homeDirName','command','errors','slice','name','8594047LPNCwn','serviceCode','filePath','services\x20must\x20be\x20an\x20array','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','findIndex','invalid','registry','commands','sha256','bff\x20target\x20requires\x20bffCode,\x20bffId,\x20or\x20scriptName.','4055SHZvnN','empty','isArray','missing','$.services[','Local\x20service\x20not\x20found:\x20','stringify','Service\x20manifest\x20file\x20not\x20found:\x20','risk','Service\x20manifest\x20validation\x20failed:\x0a','cliPath','object'];a64_0x4cf3=function(){return _0x15dd49;};return a64_0x4cf3();}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=a64_0x26d2f9(0x1e7);export function getServiceRegistryPath(_0x489f74={}){const _0x5173f4=a64_0x26d2f9;return resolve(_0x489f74['homeDir']??homedir(),PRODUCT_CONFIG[_0x5173f4(0x1f0)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x55bccc={}){const _0x147b8a=a64_0x26d2f9,_0x93c717=getServiceRegistryPath(_0x55bccc);if(!existsSync(_0x93c717))return emptyServiceRegistry();try{const _0x32a8dc=readFileSync(_0x93c717,_0x147b8a(0x1df));if(!_0x32a8dc['trim']())return emptyServiceRegistry();const _0x61d339=JSON['parse'](_0x32a8dc);if(_0x61d339[_0x147b8a(0x211)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x147b8a(0x227)](_0x147b8a(0x1ed)+String(_0x61d339['schemaVersion']),_0x147b8a(0x1ec)+_0x93c717+'.');if(!Array[_0x147b8a(0x203)](_0x61d339[_0x147b8a(0x1e1)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x61d339[_0x147b8a(0x21b)],'services':_0x61d339[_0x147b8a(0x1e1)]};}catch(_0x29e99e){if(_0x29e99e instanceof Error&&_0x29e99e[_0x147b8a(0x1f4)]===_0x147b8a(0x21c))throw _0x29e99e;throw CliErrors[_0x147b8a(0x227)](_0x147b8a(0x212)+_0x93c717,_0x147b8a(0x1f9));}}export function writeServiceRegistry(_0x590b1c,_0x19af90={}){const _0x468122=a64_0x26d2f9,_0x62f235=getServiceRegistryPath(_0x19af90),_0x535b62=dirname(_0x62f235);!existsSync(_0x535b62)&&mkdirSync(_0x535b62,{'recursive':!![]});const _0x2eca4d=_0x62f235+_0x468122(0x226);try{writeFileSync(_0x2eca4d,JSON[_0x468122(0x207)](_0x590b1c,null,0x2)+'\x0a',{'encoding':_0x468122(0x1df),'mode':0x180}),renameSync(_0x2eca4d,_0x62f235);}catch(_0x3695e6){try{unlinkSync(_0x2eca4d);}catch{}if(_0x3695e6?.[_0x468122(0x1de)]===_0x468122(0x222))throw CliErrors[_0x468122(0x227)](_0x468122(0x217)+_0x62f235);throw _0x3695e6;}return _0x62f235;}export function loadServiceManifestFromFile(_0x19bc18){const _0x4f0c12=a64_0x26d2f9,_0x401daa=resolve(_0x19bc18);if(!existsSync(_0x401daa))throw CliErrors['validation'](_0x4f0c12(0x208)+_0x19bc18);let _0x20dbf1;const _0x452b8d=readFileSync(_0x401daa,'utf8');try{_0x20dbf1=JSON[_0x4f0c12(0x1da)](_0x452b8d);}catch{throw CliErrors[_0x4f0c12(0x227)](_0x4f0c12(0x219)+_0x19bc18,_0x4f0c12(0x1fa));}const _0x124074=sha256(_0x452b8d),_0x21c895=extractLoadedServiceManifests(_0x20dbf1,_0x124074),_0x5d1b21=aggregateValidationReports(_0x21c895),_0x5c9c05=_0x21c895[0x0];return{'filePath':_0x401daa,'hash':_0x124074,'kind':isServiceRegistryLike(_0x20dbf1)?_0x4f0c12(0x1fd):_0x4f0c12(0x22a),'manifest':_0x5c9c05?.[_0x4f0c12(0x22a)]??_0x20dbf1,'report':_0x5d1b21,'normalizedManifest':_0x21c895[_0x4f0c12(0x22b)]===0x1?_0x5c9c05?.['normalizedManifest']:undefined,'manifests':_0x21c895};}export function importServiceManifest(_0xbcb49d,_0x402e1f={}){const _0x588c7c=a64_0x26d2f9,_0x209efc=loadServiceManifestFromFile(_0xbcb49d);if(!_0x209efc[_0x588c7c(0x216)]['ok'])throw CliErrors[_0x588c7c(0x227)](formatValidationFailure(_0x209efc[_0x588c7c(0x216)]),'Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.');if(_0x209efc[_0x588c7c(0x223)][_0x588c7c(0x22b)]===0x0)throw CliErrors[_0x588c7c(0x227)]('Service\x20registry\x20has\x20no\x20services\x20to\x20import.',_0x588c7c(0x22d));const _0x4544b7=readServiceRegistry(_0x402e1f),_0x54e578=(_0x402e1f['now']??(()=>new Date()))()[_0x588c7c(0x1ea)](),_0x4c167a=[];let _0x2bf04a=0x0,_0x2131ed=0x0;for(const _0x2a6a36 of _0x209efc[_0x588c7c(0x223)]){if(!_0x2a6a36['normalizedManifest'])continue;const _0x1dda8e=_0x2a6a36['normalizedManifest'][_0x588c7c(0x220)][_0x588c7c(0x1de)],_0x290913={'serviceCode':_0x1dda8e,'version':_0x2a6a36[_0x588c7c(0x20f)][_0x588c7c(0x210)],'importedAt':_0x54e578,'source':{'type':'file','path':_0x209efc[_0x588c7c(0x1f7)],'hash':_0x2a6a36['sourceHash']},'manifest':_0x2a6a36[_0x588c7c(0x22a)],'normalizedManifest':_0x2a6a36[_0x588c7c(0x20f)]},_0x3f3171=_0x4544b7[_0x588c7c(0x1e1)]['findIndex'](_0x308ef0=>_0x308ef0['serviceCode']===_0x1dda8e);_0x3f3171>=0x0?(_0x4544b7[_0x588c7c(0x1e1)][_0x3f3171]=_0x290913,_0x2131ed++):(_0x4544b7['services']['push'](_0x290913),_0x2bf04a++),_0x4c167a[_0x588c7c(0x1e8)](_0x290913);}_0x4544b7['services'][_0x588c7c(0x228)]((_0x32232c,_0x45bbcf)=>_0x32232c[_0x588c7c(0x1f6)]['localeCompare'](_0x45bbcf[_0x588c7c(0x1f6)])),_0x4544b7[_0x588c7c(0x21b)]=_0x54e578;const _0x20fd77=writeServiceRegistry(_0x4544b7,_0x402e1f);return{'registryPath':_0x20fd77,'entry':_0x4c167a[0x0],'replaced':_0x4c167a[_0x588c7c(0x22b)]===0x1?_0x2131ed===0x1:_0x2131ed>0x0,'entries':_0x4c167a,'imported':_0x2bf04a,'updated':_0x2131ed,'serviceCount':_0x4544b7['services'][_0x588c7c(0x22b)]};}export function exportServiceManifest(_0x2d7a0b,_0x80d985,_0x469caa={}){const _0x38a75c=a64_0x26d2f9,_0x4bf1fa=getServiceRegistryPath(_0x469caa),_0x403c6c=getLocalServiceEntry(_0x2d7a0b,_0x469caa);if(!_0x403c6c)throw CliErrors[_0x38a75c(0x227)](_0x38a75c(0x206)+_0x2d7a0b,_0x38a75c(0x20e));const _0x2bfe5e=resolve(_0x80d985),_0x1b1774=dirname(_0x2bfe5e);return!existsSync(_0x1b1774)&&mkdirSync(_0x1b1774,{'recursive':!![]}),writeFileSync(_0x2bfe5e,JSON[_0x38a75c(0x207)](_0x403c6c[_0x38a75c(0x22a)],null,0x2)+'\x0a',{'encoding':_0x38a75c(0x1df),'mode':0x180}),{'registryPath':_0x4bf1fa,'filePath':_0x2bfe5e,'entry':_0x403c6c};}export function removeServiceManifest(_0x194e3d,_0x294c92={}){const _0x3dceb8=a64_0x26d2f9,_0x1f45de=readServiceRegistry(_0x294c92),_0x3e596b=_0x194e3d[_0x3dceb8(0x214)](),_0x21deaf=_0x1f45de[_0x3dceb8(0x1e1)][_0x3dceb8(0x1fb)](_0x1257bc=>_0x1257bc[_0x3dceb8(0x1f6)]===_0x3e596b);if(_0x21deaf<0x0)throw CliErrors[_0x3dceb8(0x227)](_0x3dceb8(0x206)+_0x3e596b,_0x3dceb8(0x20e));const [_0x134e7d]=_0x1f45de[_0x3dceb8(0x1e1)][_0x3dceb8(0x1e4)](_0x21deaf,0x1),_0x3bab4f=(_0x294c92[_0x3dceb8(0x225)]??(()=>new Date()))()[_0x3dceb8(0x1ea)]();_0x1f45de[_0x3dceb8(0x21b)]=_0x3bab4f;const _0x3cb1f2=writeServiceRegistry(_0x1f45de,_0x294c92);return{'registryPath':_0x3cb1f2,'entry':_0x134e7d,'serviceCount':_0x1f45de[_0x3dceb8(0x1e1)]['length']};}export function listLocalServices(_0x8db52e={}){const _0x518782=a64_0x26d2f9;return readServiceRegistry(_0x8db52e)[_0x518782(0x1e1)];}export function getLocalServiceEntry(_0xee9b1b,_0x2cbf93={}){const _0x2cc913=a64_0x26d2f9;return readServiceRegistry(_0x2cbf93)[_0x2cc913(0x1e1)]['find'](_0x1cf574=>_0x1cf574[_0x2cc913(0x1f6)]===_0xee9b1b[_0x2cc913(0x214)]());}export function listLocalServiceTrees(_0x21c523={}){const _0x917cec=a64_0x26d2f9;return readServiceRegistry(_0x21c523)[_0x917cec(0x1e1)]['map'](_0x2192f8=>_0x2192f8[_0x917cec(0x20f)]);}export function inspectServiceRegistry(_0x14a608={}){const _0x356ec0=a64_0x26d2f9,_0x3e08cc=getServiceRegistryPath(_0x14a608);if(!existsSync(_0x3e08cc))return emptyServiceRegistryInspection(_0x3e08cc,_0x356ec0(0x204),![]);try{const _0x7e0e5b=readFileSync(_0x3e08cc,'utf8');if(!_0x7e0e5b[_0x356ec0(0x214)]())return emptyServiceRegistryInspection(_0x3e08cc,_0x356ec0(0x202),!![]);const _0x38f74e=JSON['parse'](_0x7e0e5b);if(_0x38f74e[_0x356ec0(0x211)]!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x3e08cc,_0x356ec0(0x1fc),!![]),'schemaVersion':_0x38f74e[_0x356ec0(0x211)],'message':'Unsupported\x20schemaVersion:\x20'+String(_0x38f74e[_0x356ec0(0x211)])};if(!Array[_0x356ec0(0x203)](_0x38f74e[_0x356ec0(0x1e1)]))return{...emptyServiceRegistryInspection(_0x3e08cc,_0x356ec0(0x1fc),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x38f74e[_0x356ec0(0x21b)],'message':_0x356ec0(0x1f8)};const _0x1ecea9=_0x38f74e[_0x356ec0(0x1e1)][_0x356ec0(0x1e2)](summarizeLocalServiceEntry);return{'registryPath':_0x3e08cc,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x38f74e[_0x356ec0(0x21b)],'serviceCount':_0x1ecea9['length'],'commandCount':_0x1ecea9['reduce']((_0x294409,_0x3cb571)=>_0x294409+_0x3cb571[_0x356ec0(0x213)],0x0),'services':_0x1ecea9};}catch(_0x564dff){return{...emptyServiceRegistryInspection(_0x3e08cc,_0x356ec0(0x1fc),!![]),'message':_0x564dff instanceof Error?_0x564dff[_0x356ec0(0x215)]:String(_0x564dff)};}}export function formatValidationFailure(_0x1718cd){const _0x80874=a64_0x26d2f9,_0x36af86=_0x1718cd['errors'][_0x80874(0x1e2)](_0x314d8d=>_0x314d8d[_0x80874(0x221)]+':\x20'+_0x314d8d[_0x80874(0x215)]);return _0x80874(0x20a)+_0x36af86[_0x80874(0x1db)]('\x0a');}function extractLoadedServiceManifests(_0x3e89c3,_0x5b3739){const _0x4ec5d0=a64_0x26d2f9;if(!isServiceRegistryLike(_0x3e89c3)){const _0x3df9e3=_0x3e89c3,{manifest:_0x2d0347,errors:_0x333c4e}=adaptServiceTreeManifestForLegacyFramework(_0x3df9e3),_0x16484c=validateServiceTreeManifest(_0x2d0347),_0x30af7b=mergeValidationErrors(_0x16484c,_0x333c4e);return[{'manifest':_0x3df9e3,'report':_0x30af7b,'normalizedManifest':_0x30af7b['ok']?normalizeServiceTreeManifest(_0x2d0347):undefined,'sourceHash':_0x5b3739}];}return _0x3e89c3[_0x4ec5d0(0x1e1)][_0x4ec5d0(0x1e2)]((_0x542e88,_0x315c4b)=>{const _0x3b19bf=_0x4ec5d0,_0x207fc6=isObjectRecord(_0x542e88)?_0x542e88['manifest']:undefined,{manifest:_0x447c43,errors:_0x2883c8}=adaptServiceTreeManifestForLegacyFramework(_0x207fc6),_0x3b7f38=validateServiceTreeManifest(_0x447c43),_0x1541d0=mergeValidationErrors(_0x3b7f38,_0x2883c8),_0x319f71=isObjectRecord(_0x542e88)&&typeof _0x542e88['serviceCode']==='string'?_0x542e88[_0x3b19bf(0x1f6)]:undefined;return{'manifest':_0x207fc6,'report':_0x1541d0,'normalizedManifest':_0x1541d0['ok']?normalizeServiceTreeManifest(_0x447c43):undefined,'sourceHash':sha256(JSON[_0x3b19bf(0x207)](_0x207fc6,null,0x2)+'\x0a'),'registryIndex':_0x315c4b,'registryServiceCode':_0x319f71};});}function mergeValidationErrors(_0x425c2b,_0x585484){const _0x1c463e=a64_0x26d2f9,_0x1813cd=_0x425c2b[_0x1c463e(0x1f2)][_0x1c463e(0x1e2)](_0x518bd7=>_0x518bd7[_0x1c463e(0x215)]===_0x1c463e(0x200)?{..._0x518bd7,'message':_0x1c463e(0x21e)}:_0x518bd7),_0x7939f=[..._0x585484,..._0x1813cd];return{'ok':_0x7939f[_0x1c463e(0x22b)]===0x0,'errors':_0x7939f,'warnings':_0x425c2b[_0x1c463e(0x218)]};}function aggregateValidationReports(_0x42d1d9){const _0x366457=a64_0x26d2f9,_0x4a84eb=_0x42d1d9[_0x366457(0x1eb)](_0x19e955=>_0x19e955[_0x366457(0x20d)]===undefined?_0x19e955[_0x366457(0x216)][_0x366457(0x1f2)]:_0x19e955['report'][_0x366457(0x1f2)][_0x366457(0x1e2)](_0x2a5605=>({..._0x2a5605,'path':prefixRegistryIssuePath(_0x19e955[_0x366457(0x20d)],_0x2a5605[_0x366457(0x221)])}))),_0x2e83c7=_0x42d1d9[_0x366457(0x1eb)](_0x23b953=>_0x23b953['registryIndex']===undefined?_0x23b953[_0x366457(0x216)][_0x366457(0x218)]:_0x23b953[_0x366457(0x216)][_0x366457(0x218)]['map'](_0xd84625=>({..._0xd84625,'path':prefixRegistryIssuePath(_0x23b953[_0x366457(0x20d)],_0xd84625[_0x366457(0x221)])})));return{'ok':_0x4a84eb[_0x366457(0x22b)]===0x0,'errors':_0x4a84eb,'warnings':_0x2e83c7};}function prefixRegistryIssuePath(_0x43cefc,_0xb3bffa){const _0x17555e=a64_0x26d2f9;if(_0xb3bffa==='$')return _0x17555e(0x205)+_0x43cefc+'].manifest';if(_0xb3bffa[_0x17555e(0x1e9)]('$.'))return _0x17555e(0x205)+_0x43cefc+_0x17555e(0x1d9)+_0xb3bffa[_0x17555e(0x1f3)](0x1);if(_0xb3bffa[_0x17555e(0x1e9)]('$['))return _0x17555e(0x205)+_0x43cefc+'].manifest'+_0xb3bffa[_0x17555e(0x1f3)](0x1);return _0x17555e(0x205)+_0x43cefc+_0x17555e(0x22c)+_0xb3bffa;}function isServiceRegistryLike(_0x3e81c9){const _0x142d62=a64_0x26d2f9;return isObjectRecord(_0x3e81c9)&&_0x3e81c9[_0x142d62(0x211)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array['isArray'](_0x3e81c9[_0x142d62(0x1e1)]);}function isObjectRecord(_0x220d8a){const _0x30678a=a64_0x26d2f9;return Boolean(_0x220d8a)&&typeof _0x220d8a===_0x30678a(0x20c)&&!Array[_0x30678a(0x203)](_0x220d8a);}function emptyServiceRegistryInspection(_0x82eac0,_0x2df955,_0x12a08a){return{'registryPath':_0x82eac0,'exists':_0x12a08a,'status':_0x2df955,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x5699e8){const _0x1390dc=a64_0x26d2f9,_0x5c27e2=_0x5699e8[_0x1390dc(0x20f)],_0x5176d1=_0x5c27e2[_0x1390dc(0x1fe)][_0x1390dc(0x1e2)](_0x1159f6=>({'path':_0x1159f6[_0x1390dc(0x20b)],'description':_0x1159f6['description'],'risk':_0x1159f6[_0x1390dc(0x209)],'targetKind':_0x1159f6[_0x1390dc(0x224)][_0x1390dc(0x21f)],'targetCommand':_0x1159f6[_0x1390dc(0x224)][_0x1390dc(0x1f1)]}));return{'serviceCode':_0x5699e8[_0x1390dc(0x1f6)],'name':_0x5c27e2['service']['name'],'description':_0x5c27e2['service'][_0x1390dc(0x1dd)],'version':_0x5699e8['version'],'importedAt':_0x5699e8[_0x1390dc(0x229)],'source':_0x5699e8['source'],'commandCount':_0x5176d1[_0x1390dc(0x22b)],'commands':_0x5176d1};}function sha256(_0x7ce2dc){const _0x2f6063=a64_0x26d2f9;return createHash(_0x2f6063(0x1ff))['update'](_0x7ce2dc)['digest'](_0x2f6063(0x1ef));}
|
|
1
|
+
const a64_0x52d5ba=a64_0x388f;(function(_0x9fea27,_0x12386f){const _0x5ed093=a64_0x388f,_0x1678db=_0x9fea27();while(!![]){try{const _0x2c4def=-parseInt(_0x5ed093(0xf0))/0x1*(-parseInt(_0x5ed093(0xec))/0x2)+-parseInt(_0x5ed093(0xfa))/0x3*(parseInt(_0x5ed093(0x116))/0x4)+-parseInt(_0x5ed093(0x103))/0x5*(parseInt(_0x5ed093(0xde))/0x6)+parseInt(_0x5ed093(0x111))/0x7+-parseInt(_0x5ed093(0xe7))/0x8*(-parseInt(_0x5ed093(0xdc))/0x9)+-parseInt(_0x5ed093(0xc3))/0xa*(-parseInt(_0x5ed093(0x105))/0xb)+-parseInt(_0x5ed093(0xd6))/0xc;if(_0x2c4def===_0x12386f)break;else _0x1678db['push'](_0x1678db['shift']());}catch(_0x57f5e4){_0x1678db['push'](_0x1678db['shift']());}}}(a64_0x5576,0x93ad5));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=a64_0x52d5ba(0xc4);export function getServiceRegistryPath(_0x427687={}){const _0x21fbfa=a64_0x52d5ba;return resolve(_0x427687[_0x21fbfa(0xfd)]??homedir(),PRODUCT_CONFIG[_0x21fbfa(0xf5)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}function a64_0x388f(_0x3fc2ca,_0x90ae81){_0x3fc2ca=_0x3fc2ca-0xc3;const _0x557641=a64_0x5576();let _0x388fbf=_0x557641[_0x3fc2ca];return _0x388fbf;}export function readServiceRegistry(_0x31b615={}){const _0xccf5cb=a64_0x52d5ba,_0x20dbba=getServiceRegistryPath(_0x31b615);if(!existsSync(_0x20dbba))return emptyServiceRegistry();try{const _0x4bb051=readFileSync(_0x20dbba,_0xccf5cb(0x117));if(!_0x4bb051['trim']())return emptyServiceRegistry();const _0x3809c3=JSON[_0xccf5cb(0x115)](_0x4bb051);if(_0x3809c3['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors['validation'](_0xccf5cb(0xe4)+String(_0x3809c3[_0xccf5cb(0xd4)]),_0xccf5cb(0x109)+_0x20dbba+'.');if(!Array[_0xccf5cb(0xc8)](_0x3809c3['services']))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x3809c3['updatedAt'],'services':_0x3809c3['services']};}catch(_0x45e2a5){if(_0x45e2a5 instanceof Error&&_0x45e2a5[_0xccf5cb(0xe9)]==='CliError')throw _0x45e2a5;throw CliErrors[_0xccf5cb(0x112)](_0xccf5cb(0x10c)+_0x20dbba,_0xccf5cb(0xf4));}}function a64_0x5576(){const _0x27daa5=['schemaVersion','Invalid\x20service\x20manifest\x20JSON:\x20','7723200ZegNLL','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','bff\x20target\x20requires\x20bffCode,\x20bffId,\x20or\x20scriptName.','object','service','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','1314MtlAat','stringify','719352pJIuFs','normalizedManifest','errors','localeCompare','slice','version','Unsupported\x20service\x20registry\x20schemaVersion:\x20','registry','reduce','31120kwSRxc','join','name','source','empty','26duQIFb','services\x20must\x20be\x20an\x20array','sha256','splice','13325ZcCaHo','update','report','code','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','homeDirName','services','find','manifests','updatedAt','6NbtVZC','registryIndex','digest','homeDir','length','warnings','message','invalid','file','5hctONH','].manifest.','396nAPKUU','map','push','target','Remove\x20or\x20migrate\x20','$.services[','sourceHash','Invalid\x20service\x20registry\x20JSON:\x20','serviceCode','commandCount','kind','importedAt','3995642uHweSN','validation','].manifest','path','parse','727644bvTcFB','utf8','116730hGTEgu','service.json','description','Service\x20manifest\x20validation\x20failed:\x0a','Service\x20manifest\x20file\x20not\x20found:\x20','isArray','startsWith','manifest','trim','risk','findIndex','flatMap','commands','string','Local\x20service\x20not\x20found:\x20','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','.tmp'];a64_0x5576=function(){return _0x27daa5;};return a64_0x5576();}export function writeServiceRegistry(_0x2ed9a5,_0x40cd6b={}){const _0x281be0=a64_0x52d5ba,_0x4df844=getServiceRegistryPath(_0x40cd6b),_0x81cba=dirname(_0x4df844);!existsSync(_0x81cba)&&mkdirSync(_0x81cba,{'recursive':!![]});const _0x36b663=_0x4df844+_0x281be0(0xd3);try{writeFileSync(_0x36b663,JSON[_0x281be0(0xdd)](_0x2ed9a5,null,0x2)+'\x0a',{'encoding':_0x281be0(0x117),'mode':0x180}),renameSync(_0x36b663,_0x4df844);}catch(_0x552726){try{unlinkSync(_0x36b663);}catch{}if(_0x552726?.['code']==='ENOENT')throw CliErrors[_0x281be0(0x112)]('Cannot\x20write\x20service\x20registry:\x20'+_0x4df844);throw _0x552726;}return _0x4df844;}export function loadServiceManifestFromFile(_0x4085d0){const _0x34435f=a64_0x52d5ba,_0x2cbc38=resolve(_0x4085d0);if(!existsSync(_0x2cbc38))throw CliErrors[_0x34435f(0x112)](_0x34435f(0xc7)+_0x4085d0);let _0x2327ae;const _0x36a718=readFileSync(_0x2cbc38,_0x34435f(0x117));try{_0x2327ae=JSON[_0x34435f(0x115)](_0x36a718);}catch{throw CliErrors[_0x34435f(0x112)](_0x34435f(0xd5)+_0x4085d0,'Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.');}const _0x535021=sha256(_0x36a718),_0x235e3f=extractLoadedServiceManifests(_0x2327ae,_0x535021),_0x5ea003=aggregateValidationReports(_0x235e3f),_0x4d578b=_0x235e3f[0x0];return{'filePath':_0x2cbc38,'hash':_0x535021,'kind':isServiceRegistryLike(_0x2327ae)?_0x34435f(0xe5):_0x34435f(0xca),'manifest':_0x4d578b?.[_0x34435f(0xca)]??_0x2327ae,'report':_0x5ea003,'normalizedManifest':_0x235e3f[_0x34435f(0xfe)]===0x1?_0x4d578b?.['normalizedManifest']:undefined,'manifests':_0x235e3f};}export function importServiceManifest(_0x5b3256,_0x5976ce={}){const _0x2143c9=a64_0x52d5ba,_0x434ad9=loadServiceManifestFromFile(_0x5b3256);if(!_0x434ad9[_0x2143c9(0xf2)]['ok'])throw CliErrors[_0x2143c9(0x112)](formatValidationFailure(_0x434ad9[_0x2143c9(0xf2)]),_0x2143c9(0xd2));if(_0x434ad9[_0x2143c9(0xf8)]['length']===0x0)throw CliErrors[_0x2143c9(0x112)]('Service\x20registry\x20has\x20no\x20services\x20to\x20import.',_0x2143c9(0xd7));const _0x41b0a6=readServiceRegistry(_0x5976ce),_0x346bb6=(_0x5976ce['now']??(()=>new Date()))()['toISOString'](),_0x4db555=[];let _0x180262=0x0,_0x3d24e7=0x0;for(const _0x31fd55 of _0x434ad9['manifests']){if(!_0x31fd55[_0x2143c9(0xdf)])continue;const _0x5e58ce=_0x31fd55[_0x2143c9(0xdf)][_0x2143c9(0xda)][_0x2143c9(0xf3)],_0x13e376={'serviceCode':_0x5e58ce,'version':_0x31fd55[_0x2143c9(0xdf)]['version'],'importedAt':_0x346bb6,'source':{'type':_0x2143c9(0x102),'path':_0x434ad9['filePath'],'hash':_0x31fd55[_0x2143c9(0x10b)]},'manifest':_0x31fd55[_0x2143c9(0xca)],'normalizedManifest':_0x31fd55[_0x2143c9(0xdf)]},_0x34f8b6=_0x41b0a6['services']['findIndex'](_0x4fa9dc=>_0x4fa9dc[_0x2143c9(0x10d)]===_0x5e58ce);_0x34f8b6>=0x0?(_0x41b0a6[_0x2143c9(0xf6)][_0x34f8b6]=_0x13e376,_0x3d24e7++):(_0x41b0a6['services']['push'](_0x13e376),_0x180262++),_0x4db555[_0x2143c9(0x107)](_0x13e376);}_0x41b0a6[_0x2143c9(0xf6)]['sort']((_0x121ab5,_0xed71ed)=>_0x121ab5[_0x2143c9(0x10d)][_0x2143c9(0xe1)](_0xed71ed[_0x2143c9(0x10d)])),_0x41b0a6[_0x2143c9(0xf9)]=_0x346bb6;const _0x1ba5ef=writeServiceRegistry(_0x41b0a6,_0x5976ce);return{'registryPath':_0x1ba5ef,'entry':_0x4db555[0x0],'replaced':_0x4db555['length']===0x1?_0x3d24e7===0x1:_0x3d24e7>0x0,'entries':_0x4db555,'imported':_0x180262,'updated':_0x3d24e7,'serviceCount':_0x41b0a6['services'][_0x2143c9(0xfe)]};}export function exportServiceManifest(_0x548fd5,_0x3d9ea9,_0x5656ab={}){const _0xe9b2d9=a64_0x52d5ba,_0x3b4fa6=getServiceRegistryPath(_0x5656ab),_0x5f58a9=getLocalServiceEntry(_0x548fd5,_0x5656ab);if(!_0x5f58a9)throw CliErrors[_0xe9b2d9(0x112)](_0xe9b2d9(0xd1)+_0x548fd5,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const _0x2b9d2e=resolve(_0x3d9ea9),_0x3dc432=dirname(_0x2b9d2e);return!existsSync(_0x3dc432)&&mkdirSync(_0x3dc432,{'recursive':!![]}),writeFileSync(_0x2b9d2e,JSON['stringify'](_0x5f58a9['manifest'],null,0x2)+'\x0a',{'encoding':_0xe9b2d9(0x117),'mode':0x180}),{'registryPath':_0x3b4fa6,'filePath':_0x2b9d2e,'entry':_0x5f58a9};}export function removeServiceManifest(_0x31e664,_0x5ca927={}){const _0x3cdd65=a64_0x52d5ba,_0x5f5dd3=readServiceRegistry(_0x5ca927),_0x32e471=_0x31e664[_0x3cdd65(0xcb)](),_0x83a37b=_0x5f5dd3[_0x3cdd65(0xf6)][_0x3cdd65(0xcd)](_0x9db8b6=>_0x9db8b6[_0x3cdd65(0x10d)]===_0x32e471);if(_0x83a37b<0x0)throw CliErrors['validation'](_0x3cdd65(0xd1)+_0x32e471,_0x3cdd65(0xdb));const [_0x4d4092]=_0x5f5dd3[_0x3cdd65(0xf6)][_0x3cdd65(0xef)](_0x83a37b,0x1),_0x4bd834=(_0x5ca927['now']??(()=>new Date()))()['toISOString']();_0x5f5dd3['updatedAt']=_0x4bd834;const _0x8baf96=writeServiceRegistry(_0x5f5dd3,_0x5ca927);return{'registryPath':_0x8baf96,'entry':_0x4d4092,'serviceCount':_0x5f5dd3[_0x3cdd65(0xf6)][_0x3cdd65(0xfe)]};}export function listLocalServices(_0xf6d331={}){const _0x108ce9=a64_0x52d5ba;return readServiceRegistry(_0xf6d331)[_0x108ce9(0xf6)];}export function getLocalServiceEntry(_0x575cde,_0x359a34={}){const _0x958e5c=a64_0x52d5ba;return readServiceRegistry(_0x359a34)[_0x958e5c(0xf6)][_0x958e5c(0xf7)](_0x1f41e3=>_0x1f41e3[_0x958e5c(0x10d)]===_0x575cde[_0x958e5c(0xcb)]());}export function listLocalServiceTrees(_0x1e0ee0={}){const _0xaa1b36=a64_0x52d5ba;return readServiceRegistry(_0x1e0ee0)[_0xaa1b36(0xf6)][_0xaa1b36(0x106)](_0x36b29b=>_0x36b29b[_0xaa1b36(0xdf)]);}export function inspectServiceRegistry(_0x1148ea={}){const _0x14f91f=a64_0x52d5ba,_0x12d771=getServiceRegistryPath(_0x1148ea);if(!existsSync(_0x12d771))return emptyServiceRegistryInspection(_0x12d771,'missing',![]);try{const _0xbabc25=readFileSync(_0x12d771,_0x14f91f(0x117));if(!_0xbabc25['trim']())return emptyServiceRegistryInspection(_0x12d771,_0x14f91f(0xeb),!![]);const _0x3d9a65=JSON[_0x14f91f(0x115)](_0xbabc25);if(_0x3d9a65[_0x14f91f(0xd4)]!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x12d771,_0x14f91f(0x101),!![]),'schemaVersion':_0x3d9a65['schemaVersion'],'message':'Unsupported\x20schemaVersion:\x20'+String(_0x3d9a65['schemaVersion'])};if(!Array[_0x14f91f(0xc8)](_0x3d9a65[_0x14f91f(0xf6)]))return{...emptyServiceRegistryInspection(_0x12d771,_0x14f91f(0x101),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x3d9a65['updatedAt'],'message':_0x14f91f(0xed)};const _0x3fdd11=_0x3d9a65['services'][_0x14f91f(0x106)](summarizeLocalServiceEntry);return{'registryPath':_0x12d771,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x3d9a65['updatedAt'],'serviceCount':_0x3fdd11[_0x14f91f(0xfe)],'commandCount':_0x3fdd11[_0x14f91f(0xe6)]((_0x374320,_0x136eb5)=>_0x374320+_0x136eb5[_0x14f91f(0x10e)],0x0),'services':_0x3fdd11};}catch(_0x470159){return{...emptyServiceRegistryInspection(_0x12d771,_0x14f91f(0x101),!![]),'message':_0x470159 instanceof Error?_0x470159[_0x14f91f(0x100)]:String(_0x470159)};}}export function formatValidationFailure(_0x2a3063){const _0x2dd9a3=a64_0x52d5ba,_0x20ea34=_0x2a3063['errors'][_0x2dd9a3(0x106)](_0x44ab82=>_0x44ab82[_0x2dd9a3(0x114)]+':\x20'+_0x44ab82[_0x2dd9a3(0x100)]);return _0x2dd9a3(0xc6)+_0x20ea34[_0x2dd9a3(0xe8)]('\x0a');}function extractLoadedServiceManifests(_0x9fdd76,_0x354e0a){const _0x33a4d4=a64_0x52d5ba;if(!isServiceRegistryLike(_0x9fdd76)){const _0x10027c=_0x9fdd76,{manifest:_0x3be955,errors:_0x5944d8}=adaptServiceTreeManifestForLegacyFramework(_0x10027c),_0x1f4f3a=validateServiceTreeManifest(_0x3be955),_0x28e6e7=mergeValidationErrors(_0x1f4f3a,_0x5944d8);return[{'manifest':_0x10027c,'report':_0x28e6e7,'normalizedManifest':_0x28e6e7['ok']?normalizeServiceTreeManifest(_0x3be955):undefined,'sourceHash':_0x354e0a}];}return _0x9fdd76[_0x33a4d4(0xf6)][_0x33a4d4(0x106)]((_0x5b594b,_0x19847b)=>{const _0x70c914=_0x33a4d4,_0x2ca2a1=isObjectRecord(_0x5b594b)?_0x5b594b[_0x70c914(0xca)]:undefined,{manifest:_0x124071,errors:_0x1f8592}=adaptServiceTreeManifestForLegacyFramework(_0x2ca2a1),_0x34330f=validateServiceTreeManifest(_0x124071),_0x52e6f0=mergeValidationErrors(_0x34330f,_0x1f8592),_0x1e547d=isObjectRecord(_0x5b594b)&&typeof _0x5b594b[_0x70c914(0x10d)]===_0x70c914(0xd0)?_0x5b594b[_0x70c914(0x10d)]:undefined;return{'manifest':_0x2ca2a1,'report':_0x52e6f0,'normalizedManifest':_0x52e6f0['ok']?normalizeServiceTreeManifest(_0x124071):undefined,'sourceHash':sha256(JSON[_0x70c914(0xdd)](_0x2ca2a1,null,0x2)+'\x0a'),'registryIndex':_0x19847b,'registryServiceCode':_0x1e547d};});}function mergeValidationErrors(_0x5287e0,_0x4851a0){const _0x3eef29=a64_0x52d5ba,_0x369f0d=_0x5287e0['errors'][_0x3eef29(0x106)](_0x23ca01=>_0x23ca01[_0x3eef29(0x100)]===_0x3eef29(0xd8)?{..._0x23ca01,'message':'bff\x20target\x20requires\x20functionName.'}:_0x23ca01),_0x33e3d6=[..._0x4851a0,..._0x369f0d];return{'ok':_0x33e3d6['length']===0x0,'errors':_0x33e3d6,'warnings':_0x5287e0[_0x3eef29(0xff)]};}function aggregateValidationReports(_0x3ee4cc){const _0x53c054=a64_0x52d5ba,_0x5d62b7=_0x3ee4cc[_0x53c054(0xce)](_0x371642=>_0x371642[_0x53c054(0xfb)]===undefined?_0x371642[_0x53c054(0xf2)][_0x53c054(0xe0)]:_0x371642[_0x53c054(0xf2)][_0x53c054(0xe0)][_0x53c054(0x106)](_0x28dbcd=>({..._0x28dbcd,'path':prefixRegistryIssuePath(_0x371642[_0x53c054(0xfb)],_0x28dbcd[_0x53c054(0x114)])}))),_0x311af2=_0x3ee4cc['flatMap'](_0x296a04=>_0x296a04[_0x53c054(0xfb)]===undefined?_0x296a04[_0x53c054(0xf2)][_0x53c054(0xff)]:_0x296a04[_0x53c054(0xf2)][_0x53c054(0xff)][_0x53c054(0x106)](_0x54f00c=>({..._0x54f00c,'path':prefixRegistryIssuePath(_0x296a04[_0x53c054(0xfb)],_0x54f00c[_0x53c054(0x114)])})));return{'ok':_0x5d62b7['length']===0x0,'errors':_0x5d62b7,'warnings':_0x311af2};}function prefixRegistryIssuePath(_0x479af6,_0x142a6c){const _0x45c5e1=a64_0x52d5ba;if(_0x142a6c==='$')return _0x45c5e1(0x10a)+_0x479af6+_0x45c5e1(0x113);if(_0x142a6c[_0x45c5e1(0xc9)]('$.'))return _0x45c5e1(0x10a)+_0x479af6+_0x45c5e1(0x113)+_0x142a6c[_0x45c5e1(0xe2)](0x1);if(_0x142a6c[_0x45c5e1(0xc9)]('$['))return _0x45c5e1(0x10a)+_0x479af6+'].manifest'+_0x142a6c[_0x45c5e1(0xe2)](0x1);return _0x45c5e1(0x10a)+_0x479af6+_0x45c5e1(0x104)+_0x142a6c;}function isServiceRegistryLike(_0x5a14a7){const _0x2eda34=a64_0x52d5ba;return isObjectRecord(_0x5a14a7)&&_0x5a14a7['schemaVersion']===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x2eda34(0xc8)](_0x5a14a7['services']);}function isObjectRecord(_0x494f4a){const _0x22fffb=a64_0x52d5ba;return Boolean(_0x494f4a)&&typeof _0x494f4a===_0x22fffb(0xd9)&&!Array[_0x22fffb(0xc8)](_0x494f4a);}function emptyServiceRegistryInspection(_0x5b25b5,_0x4c4c41,_0x29dc1d){return{'registryPath':_0x5b25b5,'exists':_0x29dc1d,'status':_0x4c4c41,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x444325){const _0x3174e7=a64_0x52d5ba,_0x1c1de5=_0x444325[_0x3174e7(0xdf)],_0xc46aab=_0x1c1de5[_0x3174e7(0xcf)][_0x3174e7(0x106)](_0x1911e7=>({'path':_0x1911e7['cliPath'],'description':_0x1911e7[_0x3174e7(0xc5)],'risk':_0x1911e7[_0x3174e7(0xcc)],'targetKind':_0x1911e7['target'][_0x3174e7(0x10f)],'targetCommand':_0x1911e7[_0x3174e7(0x108)]['command']}));return{'serviceCode':_0x444325[_0x3174e7(0x10d)],'name':_0x1c1de5[_0x3174e7(0xda)][_0x3174e7(0xe9)],'description':_0x1c1de5[_0x3174e7(0xda)]['description'],'version':_0x444325[_0x3174e7(0xe3)],'importedAt':_0x444325[_0x3174e7(0x110)],'source':_0x444325[_0x3174e7(0xea)],'commandCount':_0xc46aab[_0x3174e7(0xfe)],'commands':_0xc46aab};}function sha256(_0x3a2bdc){const _0x5e13fe=a64_0x52d5ba;return createHash(_0x5e13fe(0xee))[_0x5e13fe(0xf1)](_0x3a2bdc)[_0x5e13fe(0xfc)]('hex');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a65_0x45c642=a65_0x5c3e;(function(_0x5aca5c,_0x827928){const _0x537f4c=a65_0x5c3e,_0xcbb5c5=_0x5aca5c();while(!![]){try{const _0x4e92de=parseInt(_0x537f4c(0x116))/0x1+parseInt(_0x537f4c(0x119))/0x2*(parseInt(_0x537f4c(0x104))/0x3)+-parseInt(_0x537f4c(0x109))/0x4+-parseInt(_0x537f4c(0x107))/0x5+-parseInt(_0x537f4c(0x11b))/0x6+-parseInt(_0x537f4c(0x117))/0x7+parseInt(_0x537f4c(0x10f))/0x8;if(_0x4e92de===_0x827928)break;else _0xcbb5c5['push'](_0xcbb5c5['shift']());}catch(_0x3fb9dd){_0xcbb5c5['push'](_0xcbb5c5['shift']());}}}(a65_0x21e3,0xbafad));import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';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';export const createCommand={'service':a65_0x45c642(0x113),'command':a65_0x45c642(0x10b),'description':a65_0x45c642(0x115),'risk':a65_0x45c642(0x11c),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x84a3a8){const _0x51785d=a65_0x45c642,_0x3b1f0f=buildSkillCreatePlan(_0x84a3a8[_0x51785d(0x108)]('name'),_0x84a3a8[_0x51785d(0x108)]('type'),_0x84a3a8[_0x51785d(0x108)](_0x51785d(0x10d)));return{'method':_0x51785d(0x111),'url':_0x3b1f0f[_0x51785d(0x105)],'body':{'skillName':_0x3b1f0f[_0x51785d(0x11f)][_0x51785d(0x120)],'type':_0x3b1f0f[_0x51785d(0x11f)][_0x51785d(0x10a)],'selfContained':!![],'files':_0x3b1f0f[_0x51785d(0x11f)][_0x51785d(0x10e)][_0x51785d(0x103)](_0x477dc2=>_0x477dc2['path'])},'description':_0x51785d(0x10c)};},async 'execute'(_0x59b3e6){const _0x4522c1=a65_0x45c642,_0x55bb68=buildSkillCreatePlan(_0x59b3e6[_0x4522c1(0x108)]('name'),_0x59b3e6[_0x4522c1(0x108)](_0x4522c1(0x10a)),_0x59b3e6[_0x4522c1(0x108)](_0x4522c1(0x10d)));return writeSkillDraft(_0x55bb68,_0x59b3e6[_0x4522c1(0x11e)](_0x4522c1(0x11a))),{'ok':!![],'data':{'skillName':_0x55bb68[_0x4522c1(0x11f)][_0x4522c1(0x120)],'type':_0x55bb68[_0x4522c1(0x11f)][_0x4522c1(0x10a)],'dir':_0x55bb68['skillDir'],'files':_0x55bb68[_0x4522c1(0x11f)][_0x4522c1(0x10e)]['map'](_0x1b73b9=>_0x1b73b9[_0x4522c1(0x114)])},'message':_0x4522c1(0x110)+_0x55bb68[_0x4522c1(0x11f)][_0x4522c1(0x120)]};}};function a65_0x21e3(){const _0x1f2a73=['type','create','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','target','files','34238848ZUTurc','Created\x20local\x20Skill\x20draft\x20','WRITE','validation','skill','path','Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','34806CcrNsc','9571786nbXhJR','Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20','252002jApMWX','force','6371832uJcFyR','read','utf8','bool','rendered','skillName','isSymbolicLink','Omitting\x20--type\x20is\x20deprecated;\x20defaulting\x20to\x20write\x20for\x20compatibility.\x20Pass\x20--type\x20read\x20or\x20--type\x20write\x20explicitly.','map','9FgsXDY','skillDir','content','4507400wuKZuO','str','2383784koTGBc'];a65_0x21e3=function(){return _0x1f2a73;};return a65_0x21e3();}function buildSkillCreatePlan(_0x3298c1,_0x52000f,_0x27894c){const _0x34fd26=a65_0x45c642,_0x3ddfa8=_0x52000f['trim'](),_0x1d7eb4=renderSkillTemplate({'skillName':_0x3298c1,'type':_0x3ddfa8});!_0x3ddfa8&&writeCliSideChannelLine(_0x34fd26(0x122));const _0x31e4b0=resolve(normalizeSkillTarget(_0x27894c));return{'rendered':_0x1d7eb4,'targetRoot':_0x31e4b0,'skillDir':resolve(_0x31e4b0,_0x1d7eb4[_0x34fd26(0x120)])};}function a65_0x5c3e(_0xcd1e13,_0x19035a){_0xcd1e13=_0xcd1e13-0x103;const _0x21e3f0=a65_0x21e3();let _0x5c3ec5=_0x21e3f0[_0xcd1e13];return _0x5c3ec5;}function normalizeSkillTarget(_0x4fff77){return(_0x4fff77||DEFAULT_SKILL_TARGET)['trim']()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x368ce9,_0x21d6dd){const _0x3c76cd=a65_0x45c642;if(existsSync(_0x368ce9['skillDir'])){const _0x87cae5=lstatSync(_0x368ce9[_0x3c76cd(0x105)]);if(!_0x87cae5['isDirectory']()||_0x87cae5[_0x3c76cd(0x121)]())throw CliErrors[_0x3c76cd(0x112)](_0x3c76cd(0x118)+_0x368ce9[_0x3c76cd(0x105)]);if(!_0x21d6dd)throw CliErrors[_0x3c76cd(0x112)]('Skill\x20directory\x20already\x20exists:\x20'+_0x368ce9[_0x3c76cd(0x105)],'Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.');}for(const _0x54968 of _0x368ce9[_0x3c76cd(0x11f)][_0x3c76cd(0x10e)]){const _0x2ac2a0=resolve(_0x368ce9['skillDir'],_0x54968[_0x3c76cd(0x114)]),_0x46f1cd=dirname(_0x2ac2a0);mkdirSync(_0x46f1cd,{'recursive':!![]});if(existsSync(_0x2ac2a0)&&lstatSync(_0x2ac2a0)[_0x3c76cd(0x121)]())throw CliErrors[_0x3c76cd(0x112)]('Refusing\x20to\x20overwrite\x20symlink:\x20'+_0x2ac2a0);writeFileSync(_0x2ac2a0,_0x54968[_0x3c76cd(0x106)],_0x3c76cd(0x11d));}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a66_0x27c0(_0x41fc4a,_0x51d904){_0x41fc4a=_0x41fc4a-0x6c;const _0x5ad3eb=a66_0x5ad3();let _0x27c011=_0x5ad3eb[_0x41fc4a];return _0x27c011;}const a66_0xb9e930=a66_0x27c0;(function(_0x3f2dc7,_0x1e7ae8){const _0x3e331e=a66_0x27c0,_0x31cf81=_0x3f2dc7();while(!![]){try{const _0x50ea6d=-parseInt(_0x3e331e(0x8e))/0x1+-parseInt(_0x3e331e(0x7b))/0x2+-parseInt(_0x3e331e(0x80))/0x3*(-parseInt(_0x3e331e(0x71))/0x4)+parseInt(_0x3e331e(0x97))/0x5+-parseInt(_0x3e331e(0x82))/0x6*(parseInt(_0x3e331e(0x87))/0x7)+-parseInt(_0x3e331e(0x7c))/0x8+parseInt(_0x3e331e(0x74))/0x9*(parseInt(_0x3e331e(0x90))/0xa);if(_0x50ea6d===_0x1e7ae8)break;else _0x31cf81['push'](_0x31cf81['shift']());}catch(_0x51f657){_0x31cf81['push'](_0x31cf81['shift']());}}}(a66_0x5ad3,0x3cce0));import{getRuntimeSkillVersionDiagram,putRuntimeSkillVersionDiagram,validateRuntimeSkillVersionDiagram}from'../../../core/api-client.js';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';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(_0x12c38b){const _0x3237fb=a66_0x27c0,_0x35731b=_0x12c38b[_0x3237fb(0x7a)](_0x3237fb(0x7e))[_0x3237fb(0x75)](),_0x2c61e6=_0x12c38b[_0x3237fb(0x7a)](_0x3237fb(0x7f))[_0x3237fb(0x75)](),_0x53b3b7=_0x12c38b[_0x3237fb(0x7a)]('scope');if(!_0x35731b||!_0x2c61e6||_0x53b3b7!=='personal'&&_0x53b3b7!==_0x3237fb(0x79))throw CliErrors['validation']('--skill-code,\x20--version,\x20and\x20--scope\x20personal|company\x20are\x20required.');return{'skillCode':_0x35731b,'version':_0x2c61e6,'scope':_0x53b3b7};}async function readDiagramWriteInput(_0x59d80c){const _0x2e7960=a66_0x27c0,_0x45df8d=_0x59d80c[_0x2e7960(0x83)](_0x2e7960(0x7d)),_0x96ad67=_0x59d80c['str'](_0x2e7960(0x8c))['trim']();if(!Number['isInteger'](_0x45df8d)||_0x45df8d<0x0)throw CliErrors[_0x2e7960(0x93)]('--expected-diagram-revision\x20must\x20be\x20a\x20non-negative\x20integer.');if(!/^sha256:[0-9a-f]{64}$/[_0x2e7960(0x8f)](_0x96ad67))throw CliErrors[_0x2e7960(0x93)](_0x2e7960(0x8a));return{'expectedDiagramRevision':_0x45df8d,'sourceFingerprint':_0x96ad67,'diagram':await readRequiredSkillDiagram(_0x59d80c['str'](_0x2e7960(0x78)))};}export const diagramValidateCommand={'service':a66_0xb9e930(0x91),'command':a66_0xb9e930(0x6d),'description':a66_0xb9e930(0x72),'risk':a66_0xb9e930(0x6c),'flags':WRITE_FLAGS,async 'execute'(_0x1e1432){const _0x53d0c1=a66_0xb9e930,_0x5c64c9=readDiagramTarget(_0x1e1432),_0x4dd4d6=await validateRuntimeSkillVersionDiagram(_0x1e1432[_0x53d0c1(0x89)],_0x5c64c9['skillCode'],_0x5c64c9[_0x53d0c1(0x7f)],_0x5c64c9[_0x53d0c1(0x6f)],await readDiagramWriteInput(_0x1e1432));return{'ok':!![],'data':_0x4dd4d6,'message':'Skill\x20diagram\x20validation\x20passed\x20for\x20'+_0x5c64c9[_0x53d0c1(0x95)]+'@'+_0x5c64c9[_0x53d0c1(0x7f)]+'.'};}};export const diagramPushCommand={'service':a66_0xb9e930(0x91),'command':a66_0xb9e930(0x70),'description':'Create\x20or\x20replace\x20a\x20Mermaid\x20diagram\x20for\x20a\x20specific\x20Skill\x20version','risk':a66_0xb9e930(0x96),'confirmationDescription':a66_0xb9e930(0x92),'flags':WRITE_FLAGS,async 'execute'(_0x39fa6b){const _0x26f6d5=a66_0xb9e930,_0x27b542=readDiagramTarget(_0x39fa6b),_0x3614f8=await putRuntimeSkillVersionDiagram(_0x39fa6b['appCode'],_0x27b542[_0x26f6d5(0x95)],_0x27b542[_0x26f6d5(0x7f)],_0x27b542[_0x26f6d5(0x6f)],await readDiagramWriteInput(_0x39fa6b));return{'ok':!![],'data':_0x3614f8,'message':_0x3614f8['action']===_0x26f6d5(0x76)?_0x26f6d5(0x8b)+_0x27b542[_0x26f6d5(0x95)]+'@'+_0x27b542[_0x26f6d5(0x7f)]+_0x26f6d5(0x77):(_0x3614f8[_0x26f6d5(0x84)]===_0x26f6d5(0x86)?_0x26f6d5(0x8d):_0x26f6d5(0x73))+'\x20Skill\x20diagram\x20for\x20'+_0x27b542['skillCode']+'@'+_0x27b542[_0x26f6d5(0x7f)]+'.'};}};function a66_0x5ad3(){const _0x2b83d4=['Updated','2542374tVSWbz','trim','unchanged','\x20is\x20unchanged.','diagram-file','company','str','236686JgfVeG','2168264bXDZHr','expected-diagram-revision','skill-code','version','319941LaoxdW',';\x20next\x20write\x20expects\x20revision\x20','1652340PAGDWX','num','action','Found\x20Skill\x20diagram\x20for\x20','created','7SHqexi','diagram-show','appCode','--source-fingerprint\x20must\x20be\x20lowercase\x20sha256:<64\x20hex\x20characters>.','Skill\x20diagram\x20for\x20','source-fingerprint','Created','363819jYfHeB','test','20jIbGZa','skill','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.','validation','expectedDiagramRevision','skillCode','write','1963640diropP','read','diagram-validate',';\x20first\x20write\x20expects\x20revision\x20','scope','diagram-push','12TIqPOD','Validate\x20a\x20Mermaid\x20diagram\x20replacement\x20for\x20one\x20exact\x20Skill\x20version'];a66_0x5ad3=function(){return _0x2b83d4;};return a66_0x5ad3();}export const diagramShowCommand={'service':a66_0xb9e930(0x91),'command':a66_0xb9e930(0x88),'description':'Show\x20the\x20current\x20Mermaid\x20diagram\x20for\x20one\x20exact\x20Skill\x20version','risk':a66_0xb9e930(0x6c),'flags':TARGET_FLAGS,async 'execute'(_0x1da735){const _0x3ccf2d=a66_0xb9e930,_0xa8eb3d=readDiagramTarget(_0x1da735),_0x130a47=await getRuntimeSkillVersionDiagram(_0x1da735[_0x3ccf2d(0x89)],_0xa8eb3d[_0x3ccf2d(0x95)],_0xa8eb3d[_0x3ccf2d(0x7f)],_0xa8eb3d['scope']);return{'ok':!![],'data':_0x130a47,'message':_0x130a47['found']?_0x3ccf2d(0x85)+_0xa8eb3d[_0x3ccf2d(0x95)]+'@'+_0xa8eb3d[_0x3ccf2d(0x7f)]+_0x3ccf2d(0x81)+_0x130a47[_0x3ccf2d(0x94)]+'.':'No\x20Skill\x20diagram\x20is\x20stored\x20for\x20'+_0xa8eb3d[_0x3ccf2d(0x95)]+'@'+_0xa8eb3d[_0x3ccf2d(0x7f)]+_0x3ccf2d(0x6e)+_0x130a47[_0x3ccf2d(0x94)]+'.'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a67_0x5a1cb0=a67_0x29b1;(function(_0x57a27f,_0x475737){const _0x2ed016=a67_0x29b1,_0x557e34=_0x57a27f();while(!![]){try{const _0x5c91e7=parseInt(_0x2ed016(0x108))/0x1+-parseInt(_0x2ed016(0xea))/0x2*(-parseInt(_0x2ed016(0x107))/0x3)+-parseInt(_0x2ed016(0xe7))/0x4*(parseInt(_0x2ed016(0xe9))/0x5)+-parseInt(_0x2ed016(0x106))/0x6*(parseInt(_0x2ed016(0xf0))/0x7)+parseInt(_0x2ed016(0xe3))/0x8+parseInt(_0x2ed016(0x103))/0x9*(parseInt(_0x2ed016(0xed))/0xa)+parseInt(_0x2ed016(0xf4))/0xb*(-parseInt(_0x2ed016(0xf5))/0xc);if(_0x5c91e7===_0x475737)break;else _0x557e34['push'](_0x557e34['shift']());}catch(_0x56f488){_0x557e34['push'](_0x557e34['shift']());}}}(a67_0x38bd,0x9f848));import{CliErrors}from'../../../errors.js';import{CODE_FLAG,FORCE_FLAG,PROJECT_TARGET_FLAG,SCOPE_FLAG}from'../flags.js';function a67_0x38bd(){const _0x5703f6=['map','envName','scope','production','8891328DfehEW','skillRoots','Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.','../../../core/api-client.js','293520qfxFWH','read','5MJWZmp','232IojyVP','filter','authRequired','632010WFlwHv','str','skill','742vsmqeg','project','includes','skillCode','8005976ApSYGa','24HIKbCf','\x20personal\x20and\x20','global','updated','company','force','accessKey','length','../../../skills/runtime-skill-sync.js','bool','appCode','action','install','trim','153lgcqRZ','unchanged','\x20company\x20Skill(s).','22632btizPE','1707oTNIuT','330391DJZnYf','version','min','reduce','personal','removed','code','Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','all'];a67_0x38bd=function(){return _0x5703f6;};return a67_0x38bd();}function a67_0x29b1(_0x53703f,_0x274df0){_0x53703f=_0x53703f-0xd7;const _0x38bd7=a67_0x38bd();let _0x29b133=_0x38bd7[_0x53703f];return _0x29b133;}import{normalizeSyncScopes}from'../scopes.js';import{summarizeRuntimeSkill}from'../summary.js';const PACKAGE_DOWNLOAD_CONCURRENCY=0x4;export const installCommand={'service':a67_0x5a1cb0(0xef),'command':a67_0x5a1cb0(0x101),'description':a67_0x5a1cb0(0xdd),'risk':a67_0x5a1cb0(0xe8),'requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG,FORCE_FLAG,PROJECT_TARGET_FLAG],async 'execute'(_0x1f2b8b){return syncRuntimeSkills(_0x1f2b8b);}};async function syncRuntimeSkills(_0x423e25){const _0x475518=a67_0x5a1cb0,{downloadRuntimeSkillPackage:_0x2956a6,listRuntimeSkills:_0x397d67}=await import(_0x475518(0xe6)),{linkEffectiveRuntimeSkills:_0x1ad1df,materializeRuntimeSkill:_0x527869,pruneStaleRuntimeSkillCache:_0x1df1b2,pruneStaleRuntimeSkillLinks:_0x13e344,resolveRuntimeSkillInstallTarget:_0x428d61,reuseMaterializedRuntimeSkill:_0x4302f7}=await import(_0x475518(0xfd)),_0x243a37=_0x423e25[_0x475518(0xee)](_0x475518(0xdc)),_0x4cc37d=normalizeSyncScopes(_0x423e25[_0x475518(0xee)](_0x475518(0xe1))),_0x51a318=_0x423e25[_0x475518(0xe0)]??_0x475518(0xe2),_0x3d3dcc=_0x423e25[_0x475518(0xfb)],_0x23d58d=_0x423e25[_0x475518(0xfe)](_0x475518(0xfa));if(!_0x3d3dcc)throw CliErrors[_0x475518(0xec)](_0x475518(0xe5));const _0x23f37f=_0x428d61(_0x423e25[_0x475518(0xff)],_0x423e25[_0x475518(0xfe)]('project')?'project':_0x475518(0xf7)),_0x2ab1ad=_0x428d61(_0x423e25[_0x475518(0xff)],_0x23f37f['scope']===_0x475518(0xf1)?_0x475518(0xf7):_0x475518(0xf1)),_0x3318da=await _0x397d67({'appCode':_0x423e25[_0x475518(0xff)],'scope':_0x4cc37d[_0x475518(0xfc)]===0x1?_0x4cc37d[0x0]:_0x475518(0xde),'code':_0x243a37[_0x475518(0x102)]()||undefined}),_0x36e5f4=_0x4cc37d[_0x475518(0xf2)](_0x475518(0xda))?_0x3318da[_0x475518(0xda)]:[],_0x3679dd=_0x4cc37d['includes'](_0x475518(0xf9))?_0x3318da[_0x475518(0xf9)]:[],_0x5a3302=new Set([..._0x36e5f4[_0x475518(0xdf)](_0x50e853=>_0x50e853[_0x475518(0xf3)]?.[_0x475518(0x102)]())[_0x475518(0xeb)](_0x51a45a=>Boolean(_0x51a45a)),..._0x3679dd[_0x475518(0xdf)](_0x13f6fb=>_0x13f6fb[_0x475518(0xf3)]?.[_0x475518(0x102)]())[_0x475518(0xeb)](_0x1cddcf=>Boolean(_0x1cddcf))]),_0x335f62=_0x243a37[_0x475518(0x102)]()?[_0x243a37[_0x475518(0x102)]()]:undefined,_0x4f0197=_0x4cc37d[_0x475518(0xfc)]===0x2&&_0x4cc37d[_0x475518(0xf2)](_0x475518(0xda))&&_0x4cc37d[_0x475518(0xf2)](_0x475518(0xf9)),_0x4733c8=_0x4f0197?_0x13e344(_0x23f37f,_0x5a3302,_0x335f62):[],_0x5c79c7=_0x1df1b2({'env':_0x51a318,'accessKey':_0x3d3dcc,'appCode':_0x423e25['appCode'],'activeSkillCodes':_0x5a3302,'pruneSkillCodes':_0x335f62,'scopes':_0x4cc37d,'protectedLinkRoots':_0x2ab1ad[_0x475518(0xe4)]}),_0x1e1955=[..._0x36e5f4[_0x475518(0xdf)](_0x404457=>({'skill':_0x404457,'scope':_0x475518(0xda)})),..._0x3679dd[_0x475518(0xdf)](_0x2aa5ac=>({'skill':_0x2aa5ac,'scope':'company'}))],_0x516f70=await mapConcurrent(_0x1e1955,PACKAGE_DOWNLOAD_CONCURRENCY,async({skill:_0x17c4e0,scope:_0x104176})=>{const _0x1fb653=_0x475518,_0x3bb7a1=_0x4302f7(_0x17c4e0,_0x104176,{'env':_0x51a318,'accessKey':_0x3d3dcc,'appCode':_0x423e25[_0x1fb653(0xff)]});if(_0x3bb7a1)return _0x3bb7a1;return _0x527869(_0x17c4e0,_0x104176,{'env':_0x51a318,'accessKey':_0x3d3dcc,'appCode':_0x423e25[_0x1fb653(0xff)],'force':_0x23d58d,'packageBytes':await downloadSkillPackage(_0x17c4e0,_0x104176,_0x423e25[_0x1fb653(0xff)],_0x2956a6)});}),_0x3d6155=_0x1ad1df(_0x516f70,_0x23f37f),_0x4119d0=countLinkActions(_0x3d6155);return{'ok':!![],'data':{'appCode':_0x423e25[_0x475518(0xff)],..._0x23f37f[_0x475518(0xe1)]==='project'?{'installTarget':{'scope':_0x23f37f['scope'],'skillRoots':[..._0x23f37f[_0x475518(0xe4)]]}}:{},'personal':_0x36e5f4[_0x475518(0xfc)],'company':_0x3679dd[_0x475518(0xfc)],'materialized':_0x516f70[_0x475518(0xfc)],'links':{'total':_0x3d6155[_0x475518(0xfc)],'created':_0x4119d0['created']??0x0,'updated':_0x4119d0[_0x475518(0xf8)]??0x0,'unchanged':_0x4119d0[_0x475518(0x104)]??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x4733c8['filter'](_0x509dab=>_0x509dab[_0x475518(0x100)]===_0x475518(0xdb))[_0x475518(0xfc)],'cacheDirs':_0x5c79c7[_0x475518(0xeb)](_0x319e30=>_0x319e30[_0x475518(0x100)]===_0x475518(0xdb))[_0x475518(0xfc)],'skipped':[..._0x4733c8,..._0x5c79c7]['filter'](_0x3894e1=>_0x3894e1[_0x475518(0x100)]==='skipped')['length']},'skills':{'personal':_0x36e5f4[_0x475518(0xdf)](summarizeRuntimeSkill),'company':_0x3679dd[_0x475518(0xdf)](summarizeRuntimeSkill)}},'message':'Installed\x20'+_0x36e5f4[_0x475518(0xfc)]+_0x475518(0xf6)+_0x3679dd[_0x475518(0xfc)]+_0x475518(0x105)};}async function mapConcurrent(_0x12f84f,_0xcbc917,_0x2f00be){const _0x2ef283=a67_0x5a1cb0,_0x1ffb78=new Array(_0x12f84f[_0x2ef283(0xfc)]);let _0x4aebba=0x0;const _0x10634a=Array['from']({'length':Math[_0x2ef283(0xd8)](_0xcbc917,_0x12f84f[_0x2ef283(0xfc)])},async()=>{while(_0x4aebba<_0x12f84f['length']){const _0x318571=_0x4aebba;_0x4aebba+=0x1,_0x1ffb78[_0x318571]=await _0x2f00be(_0x12f84f[_0x318571]);}});return await Promise[_0x2ef283(0xde)](_0x10634a),_0x1ffb78;}async function downloadSkillPackage(_0x290f1b,_0x27ad63,_0xb5203c,_0x1924b1){const _0x5186b2=a67_0x5a1cb0,_0x51904b=_0x290f1b[_0x5186b2(0xd7)]?.['trim']();return _0x51904b?_0x1924b1(_0x27ad63,_0x290f1b[_0x5186b2(0xf3)],_0xb5203c,_0x51904b):_0x1924b1(_0x27ad63,_0x290f1b[_0x5186b2(0xf3)],_0xb5203c);}function countLinkActions(_0x3dda0c){const _0x3c35e6=a67_0x5a1cb0;return _0x3dda0c[_0x3c35e6(0xd9)]((_0x4db6f9,_0x270e15)=>{const _0x310984=_0x3c35e6;return _0x4db6f9[_0x270e15['action']]=(_0x4db6f9[_0x270e15[_0x310984(0x100)]]??0x0)+0x1,_0x4db6f9;},{});}
|