@lovrabet/lovrabet-cli 2.3.0 → 2.3.1-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cli.js +1 -1
- package/lib/commands/api-doc/index.js +1 -1
- package/lib/commands/app/cache.js +1 -1
- package/lib/commands/app/definitions.js +1 -1
- package/lib/commands/app/eligibility.js +1 -1
- package/lib/commands/app/mock-loader.js +1 -1
- package/lib/commands/app/remote-source.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/artifact/index.js +1 -1
- package/lib/commands/auth/device.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/auth/prompt.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/exec.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/common/config-policy.js +1 -1
- package/lib/commands/common/constraints.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/config/definitions.js +1 -1
- package/lib/commands/config/init.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/data/index.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/sdk-doc.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/init.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/notification/config-list.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/notification/shared.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/permit/dataset-get.js +1 -1
- package/lib/commands/permit/dataset-set.js +1 -1
- package/lib/commands/permit/index.js +1 -1
- package/lib/commands/permit/page-get.js +1 -1
- package/lib/commands/permit/page-set.js +1 -1
- package/lib/commands/permit/role-menus-set.js +1 -1
- package/lib/commands/permit/role-menus.js +1 -1
- package/lib/commands/permit/shared.js +1 -1
- package/lib/commands/personal-bff/index.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/create.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/schedule/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/service/dynamic.js +1 -1
- package/lib/commands/service/function-name-adapter.js +1 -1
- package/lib/commands/service/index.js +1 -1
- package/lib/commands/service/registry.js +1 -1
- package/lib/commands/skill/commands/create.js +1 -1
- package/lib/commands/skill/commands/diagram.js +1 -1
- package/lib/commands/skill/commands/install.js +1 -1
- package/lib/commands/skill/commands/list.js +1 -1
- package/lib/commands/skill/commands/push.js +1 -1
- package/lib/commands/skill/commands/validate.js +1 -1
- package/lib/commands/skill/diagram.js +1 -1
- package/lib/commands/skill/flags.js +1 -1
- package/lib/commands/skill/index.js +1 -1
- package/lib/commands/skill/manifest-helpers.js +1 -1
- package/lib/commands/skill/push-execute.js +1 -1
- package/lib/commands/skill/push-flow-helpers.js +1 -1
- package/lib/commands/skill/push-retarget.js +1 -1
- package/lib/commands/skill/scopes.js +1 -1
- package/lib/commands/skill/summary.js +1 -1
- package/lib/commands/skill/templates.js +1 -1
- package/lib/commands/skill/validate.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/update.js +1 -1
- package/lib/commands/user-account/bind.js +1 -1
- package/lib/commands/user-account/index.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/config/domain-config.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/app.js +1 -1
- package/lib/constant/auth-mode.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/distribution.js +1 -1
- package/lib/constant/domain.d.ts +3 -3
- 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.d.ts +0 -16
- package/lib/core/api-client.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/kb-search-client.d.ts +30 -0
- package/lib/core/kb-search-client.js +1 -0
- 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.d.ts +2 -0
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/postinstall.js +1 -1
- package/lib/runtime/confirmation.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/skills/builtin-skill.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/runtime-skill-sync/constants.js +1 -1
- package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
- package/lib/skills/runtime-skill-sync/hashing.js +1 -1
- package/lib/skills/runtime-skill-sync/install-target.js +1 -1
- package/lib/skills/runtime-skill-sync/links.js +1 -1
- package/lib/skills/runtime-skill-sync/list-local.js +1 -1
- package/lib/skills/runtime-skill-sync/local-files.js +1 -1
- package/lib/skills/runtime-skill-sync/materialize.js +1 -1
- package/lib/skills/runtime-skill-sync/metadata.js +1 -1
- package/lib/skills/runtime-skill-sync/paths.js +1 -1
- package/lib/skills/runtime-skill-sync/push.js +1 -1
- package/lib/skills/runtime-skill-sync/scopes.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
- package/lib/skills/runtime-skill-sync.js +1 -1
- package/lib/skills/skill-presence.js +1 -1
- package/lib/utils/access-key-redaction.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/lossless-json.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
- package/skills/lovrabet/SKILL.md +3 -2
- package/skills/lovrabet/guides/sql-and-bff-workflow.md +1 -1
- package/skills/lovrabet/references/lovrabet-config-commands.md +2 -2
- package/skills/lovrabet/references/lovrabet-config.md +2 -2
- package/skills/lovrabet/references/lovrabet-doctor.md +2 -0
- package/skills/lovrabet/references/lovrabet-kb-workflow.md +3 -1
- package/skills/lovrabet/references/lovrabet-personal-bff-workflow.md +32 -0
- package/skills/lovrabet.manifest.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
function a58_0x2db6(){const _0x2b8311=['/api/harness/apps/','1752006WwWXHa','UTC','12824920mBgvYK','716374iMWFYn','Preview:\x20run\x20schedule\x20','string','Task\x20model\x20used\x20when\x20the\x20schedule\x20runs','Deleted\x20schedule\x20','\x20immediately','delete','schedule-id','deepseek-v4-flash-0731','high-risk-write','--prompt\x20must\x20not\x20be\x20blank.','Five-field\x20UTC\x20cron\x20expression\x20for\x20CRON\x20schedules','CRON','\x20from\x20schedule\x20','body','712NqIlwR','cursor','DELETE','num','schedule','cron','POST','kind','limit','Canonical\x20UTC\x20ISO\x20datetime\x20for\x20ONCE\x20schedules','str','trim','--title\x20must\x20not\x20be\x20blank.','list','--limit\x20must\x20be\x20an\x20integer\x20from\x201\x20to\x20100.','description','15NElRny','build','4241178jBhvck','scheduled-at','1027660fiLolE','Schedule\x20title','Delete\x20the\x20schedule\x20and\x20stop\x20future\x20triggers','validation','title','--kind\x20must\x20be\x20CRON\x20or\x20ONCE.','Created\x20','detail','2641324proSHf','Creates\x20a\x20schedule\x20in\x20the\x20current\x20app\x20that\x20can\x20auto-trigger\x20an\x20Agent.\x20At\x20the\x20scheduled\x20time\x20a\x20Task\x20is\x20created\x20and\x20run.','appCode','Create\x20a\x20recurring\x20or\x20one-shot\x20Agent\x20schedule','create','List\x20current\x20user\x27s\x20schedules\x20for\x20the\x20current\x20app','10026dnWJvl','ONCE','Preview:\x20create\x20an\x20Agent\x20schedule','isSafeInteger','read','ONCE\x20schedules\x20require\x20--scheduled-at\x20and\x20do\x20not\x20accept\x20--cron.','validate','Preview:\x20delete\x20schedule\x20','deepseek-v4-pro-0813','Queued\x20Task\x20','/schedules','Schedule\x20kind:\x20CRON\x20or\x20ONCE','taskId','CRON\x20schedules\x20require\x20--cron\x20and\x20do\x20not\x20accept\x20--scheduled-at.','prompt','Show\x20one\x20schedule\x20by\x20schedule\x20ID','2EMoGPn','/run','model','Schedule\x20UUID','Prompt\x20sent\x20to\x20the\x20Agent\x20when\x20the\x20schedule\x20runs','kimi/k3','\x20schedule\x20'];a58_0x2db6=function(){return _0x2b8311;};return a58_0x2db6();}const a58_0x9bb2c5=a58_0x1184;(function(_0x1ba5af,_0xad1f66){const _0xfe5490=a58_0x1184,_0x300568=_0x1ba5af();while(!![]){try{const _0x2b003e=parseInt(_0xfe5490(0x103))/0x1*(-parseInt(_0xfe5490(0xf8))/0x2)+-parseInt(_0xfe5490(0x100))/0x3+-parseInt(_0xfe5490(0xda))/0x4*(parseInt(_0xfe5490(0xd6))/0x5)+parseInt(_0xfe5490(0xd8))/0x6+parseInt(_0xfe5490(0xe2))/0x7+parseInt(_0xfe5490(0xc6))/0x8*(parseInt(_0xfe5490(0xe8))/0x9)+parseInt(_0xfe5490(0x102))/0xa;if(_0x2b003e===_0xad1f66)break;else _0x300568['push'](_0x300568['shift']());}catch(_0x1b25cd){_0x300568['push'](_0x300568['shift']());}}}(a58_0x2db6,0x605d8));import{createRuntimeSchedule,deleteRuntimeSchedule,getRuntimeSchedule,listRuntimeSchedules,runRuntimeSchedule,validateRuntimeSchedule}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';const SCHEDULE_ID_PATTERN=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,KIND_FLAG={'name':'kind','type':a58_0x9bb2c5(0x105),'required':!![],'enum':[a58_0x9bb2c5(0xc3),a58_0x9bb2c5(0xe9)],'description':a58_0x9bb2c5(0xf3)},CRON_FLAG={'name':a58_0x9bb2c5(0xcb),'type':a58_0x9bb2c5(0x105),'description':a58_0x9bb2c5(0xc2)},SCHEDULED_AT_FLAG={'name':a58_0x9bb2c5(0xd9),'type':a58_0x9bb2c5(0x105),'description':a58_0x9bb2c5(0xcf)},TITLE_FLAG={'name':a58_0x9bb2c5(0xde),'type':a58_0x9bb2c5(0x105),'required':!![],'description':a58_0x9bb2c5(0xdb)},PROMPT_FLAG={'name':a58_0x9bb2c5(0xf6),'type':a58_0x9bb2c5(0x105),'required':!![],'description':a58_0x9bb2c5(0xfc)},MODEL_FLAG={'name':a58_0x9bb2c5(0xfa),'type':a58_0x9bb2c5(0x105),'enum':[a58_0x9bb2c5(0xfd),'deepseek-v4-flash-0731',a58_0x9bb2c5(0xf0)],'default':a58_0x9bb2c5(0xbf),'description':a58_0x9bb2c5(0x106)},SCHEDULE_ID_FLAG={'name':a58_0x9bb2c5(0xbe),'type':a58_0x9bb2c5(0x105),'required':!![],'description':a58_0x9bb2c5(0xfb),'pattern':{'regex':SCHEDULE_ID_PATTERN,'description':'a\x20UUID\x20returned\x20by\x20schedule\x20create/list'}},LIMIT_FLAG={'name':a58_0x9bb2c5(0xce),'type':'number','default':0x14,'description':'Page\x20size\x20from\x201\x20to\x20100'},CURSOR_FLAG={'name':a58_0x9bb2c5(0xc7),'type':'string','description':'Opaque\x20nextCursor\x20returned\x20by\x20the\x20previous\x20list\x20call'},INPUT_FLAGS=[KIND_FLAG,CRON_FLAG,SCHEDULED_AT_FLAG,TITLE_FLAG,PROMPT_FLAG,MODEL_FLAG];function readScheduleInput(_0x50686d){const _0x49f031=a58_0x9bb2c5,_0x59d650=_0x50686d['str'](_0x49f031(0xcd)),_0x13d3f6=_0x50686d[_0x49f031(0xd0)](_0x49f031(0xde))[_0x49f031(0xd1)](),_0x4b959f=_0x50686d[_0x49f031(0xd0)](_0x49f031(0xf6))[_0x49f031(0xd1)](),_0x522ac1=_0x50686d[_0x49f031(0xd0)](_0x49f031(0xfa)),_0x418059=_0x50686d['str']('cron'),_0x61e452=_0x50686d[_0x49f031(0xd0)](_0x49f031(0xd9));if(!_0x13d3f6)throw CliErrors[_0x49f031(0xdd)](_0x49f031(0xd2));if(!_0x4b959f)throw CliErrors[_0x49f031(0xdd)](_0x49f031(0xc1));if(_0x59d650==='CRON'){if(!_0x418059||_0x61e452)throw CliErrors[_0x49f031(0xdd)](_0x49f031(0xf5));return{'kind':_0x59d650,'timezone':_0x49f031(0x101),'cron':_0x418059,'title':_0x13d3f6,'prompt':_0x4b959f,'model':_0x522ac1};}if(_0x59d650===_0x49f031(0xe9)){if(!_0x61e452||_0x418059)throw CliErrors[_0x49f031(0xdd)](_0x49f031(0xed));return{'kind':_0x59d650,'timezone':'UTC','scheduledAt':_0x61e452,'title':_0x13d3f6,'prompt':_0x4b959f,'model':_0x522ac1};}throw CliErrors[_0x49f031(0xdd)](_0x49f031(0xdf));}function scheduleCollectionPath(_0x53bb6c){const _0x4d98cc=a58_0x9bb2c5;return _0x4d98cc(0xff)+encodeURIComponent(_0x53bb6c)+_0x4d98cc(0xf2);}function scheduleItemPath(_0x36373d,_0x140fc4){return scheduleCollectionPath(_0x36373d)+'/'+encodeURIComponent(_0x140fc4);}const scheduleValidate={'service':'schedule','command':a58_0x9bb2c5(0xee),'description':'Validate\x20a\x20UTC\x20schedule\x20without\x20creating\x20it','risk':a58_0x9bb2c5(0xec),'flags':INPUT_FLAGS,async 'validate'(_0x5acaa6){readScheduleInput(_0x5acaa6);},async 'execute'(_0x29bf13){const _0x5d5683=a58_0x9bb2c5,_0x37f51b=readScheduleInput(_0x29bf13),_0x132dd5=await validateRuntimeSchedule(_0x29bf13[_0x5d5683(0xe4)],_0x37f51b);return{'ok':!![],'data':_0x132dd5,'message':'Schedule\x20input\x20is\x20valid'};}},scheduleCreate={'service':a58_0x9bb2c5(0xca),'command':a58_0x9bb2c5(0xe6),'description':a58_0x9bb2c5(0xe5),'risk':a58_0x9bb2c5(0xc0),'confirmationDescription':a58_0x9bb2c5(0xe3),'flags':INPUT_FLAGS,async 'validate'(_0xc5e7cb){readScheduleInput(_0xc5e7cb);},async 'execute'(_0x69fc90){const _0x1dbaf6=a58_0x9bb2c5,_0x423367=readScheduleInput(_0x69fc90),_0x3a6330=await validateRuntimeSchedule(_0x69fc90[_0x1dbaf6(0xe4)],_0x423367),_0xc18fec=await createRuntimeSchedule(_0x69fc90[_0x1dbaf6(0xe4)],_0x3a6330);return{'ok':!![],'data':_0xc18fec,'message':_0x1dbaf6(0xe0)+_0xc18fec[_0x1dbaf6(0xcd)]+_0x1dbaf6(0xfe)+_0xc18fec['scheduleId']};},async 'dryRun'(_0x369e41){const _0x2905c=a58_0x9bb2c5,_0x17845b=readScheduleInput(_0x369e41);return dryRun(_0x2905c(0xcc),scheduleCollectionPath(_0x369e41[_0x2905c(0xe4)]))[_0x2905c(0xc5)](_0x17845b)[_0x2905c(0xd5)](_0x2905c(0xea))[_0x2905c(0xd7)]();}},scheduleList={'service':a58_0x9bb2c5(0xca),'command':a58_0x9bb2c5(0xd3),'description':a58_0x9bb2c5(0xe7),'risk':'read','flags':[KIND_FLAG,LIMIT_FLAG,CURSOR_FLAG],async 'validate'(_0x3a2ef7){const _0x2b96f4=a58_0x9bb2c5,_0x37045f=_0x3a2ef7[_0x2b96f4(0xc9)](_0x2b96f4(0xce));if(!Number[_0x2b96f4(0xeb)](_0x37045f)||_0x37045f<0x1||_0x37045f>0x64)throw CliErrors[_0x2b96f4(0xdd)](_0x2b96f4(0xd4));const _0x42c6ee=_0x3a2ef7[_0x2b96f4(0xd0)]('cursor');if(_0x42c6ee&&(_0x42c6ee['length']>0x400||_0x42c6ee[_0x2b96f4(0xd1)]()!==_0x42c6ee))throw CliErrors[_0x2b96f4(0xdd)]('--cursor\x20must\x20be\x20the\x20unchanged\x20nextCursor\x20from\x20schedule\x20list.');},async 'execute'(_0x1f7d2f){const _0x5cdd89=a58_0x9bb2c5,_0x599331=_0x1f7d2f[_0x5cdd89(0xd0)](_0x5cdd89(0xc7)),_0x481d12=await listRuntimeSchedules(_0x1f7d2f['appCode'],{'kind':_0x1f7d2f['str'](_0x5cdd89(0xcd)),'limit':_0x1f7d2f[_0x5cdd89(0xc9)](_0x5cdd89(0xce)),..._0x599331?{'cursor':_0x599331}:{}});return{'ok':!![],'data':_0x481d12};}},scheduleDetail={'service':a58_0x9bb2c5(0xca),'command':a58_0x9bb2c5(0xe1),'description':a58_0x9bb2c5(0xf7),'risk':a58_0x9bb2c5(0xec),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x3da1d3){const _0x26f842=a58_0x9bb2c5,_0x132ade=await getRuntimeSchedule(_0x3da1d3[_0x26f842(0xe4)],_0x3da1d3[_0x26f842(0xd0)](_0x26f842(0xbe)));return{'ok':!![],'data':_0x132ade};}},scheduleRun={'service':a58_0x9bb2c5(0xca),'command':'run','description':'Run\x20the\x20schedule\x20once\x20immediately\x20and\x20create\x20a\x20Task','risk':a58_0x9bb2c5(0xc0),'confirmationDescription':'Ignores\x20the\x20original\x20trigger\x20time,\x20runs\x20the\x20schedule\x20once\x20now,\x20and\x20creates\x20a\x20new\x20Agent\x20Task.','flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x2ccbea){const _0x20ff33=a58_0x9bb2c5,_0x2d7c4f=_0x2ccbea[_0x20ff33(0xd0)]('schedule-id'),_0x458dd6=await runRuntimeSchedule(_0x2ccbea[_0x20ff33(0xe4)],_0x2d7c4f);return{'ok':!![],'data':_0x458dd6,'message':_0x20ff33(0xf1)+_0x458dd6[_0x20ff33(0xf4)]+_0x20ff33(0xc4)+_0x2d7c4f};},async 'dryRun'(_0x20534c){const _0x2661d9=a58_0x9bb2c5,_0x213bde=_0x20534c[_0x2661d9(0xd0)]('schedule-id');return dryRun(_0x2661d9(0xcc),scheduleItemPath(_0x20534c[_0x2661d9(0xe4)],_0x213bde)+_0x2661d9(0xf9))[_0x2661d9(0xd5)](_0x2661d9(0x104)+_0x213bde+_0x2661d9(0x108))[_0x2661d9(0xd7)]();}},scheduleDelete={'service':a58_0x9bb2c5(0xca),'command':a58_0x9bb2c5(0xbd),'description':a58_0x9bb2c5(0xdc),'risk':a58_0x9bb2c5(0xc0),'confirmationDescription':'Permanently\x20deletes\x20the\x20schedule\x20and\x20stops\x20future\x20auto-triggers.\x20Historical\x20Tasks\x20already\x20created\x20are\x20not\x20affected.','flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x523bb5){const _0x442b26=a58_0x9bb2c5,_0x3b7933=_0x523bb5[_0x442b26(0xd0)](_0x442b26(0xbe)),_0x2f79eb=await deleteRuntimeSchedule(_0x523bb5[_0x442b26(0xe4)],_0x3b7933);return{'ok':!![],'data':_0x2f79eb,'message':_0x442b26(0x107)+_0x3b7933};},async 'dryRun'(_0xf1910d){const _0x14a4dd=a58_0x9bb2c5,_0x131a91=_0xf1910d['str'](_0x14a4dd(0xbe));return dryRun(_0x14a4dd(0xc8),scheduleItemPath(_0xf1910d[_0x14a4dd(0xe4)],_0x131a91))[_0x14a4dd(0xd5)](_0x14a4dd(0xef)+_0x131a91)[_0x14a4dd(0xd7)]();}};function a58_0x1184(_0x2cb055,_0x3be317){_0x2cb055=_0x2cb055-0xbd;const _0x2db6a1=a58_0x2db6();let _0x1184b1=_0x2db6a1[_0x2cb055];return _0x1184b1;}export const scheduleDefinitions=[scheduleValidate,scheduleCreate,scheduleList,scheduleDetail,scheduleRun,scheduleDelete];
|
|
1
|
+
const a58_0x28822a=a58_0xe6b8;function a58_0x3e91(){const _0x5289e9=['--prompt\x20must\x20not\x20be\x20blank.','string','cron','high-risk-write','trim','schedule-id','taskId','Creates\x20a\x20schedule\x20in\x20the\x20current\x20app\x20that\x20can\x20auto-trigger\x20an\x20Agent.\x20At\x20the\x20scheduled\x20time\x20a\x20Task\x20is\x20created\x20and\x20run.','2883hklHOn','2752816IbgCAg','deepseek-v4-pro-0813','Preview:\x20run\x20schedule\x20','read','POST','7WvllQT','--cursor\x20must\x20be\x20the\x20unchanged\x20nextCursor\x20from\x20schedule\x20list.','scheduled-at','Page\x20size\x20from\x201\x20to\x20100','Delete\x20the\x20schedule\x20and\x20stop\x20future\x20triggers','Schedule\x20kind:\x20CRON\x20or\x20ONCE','limit','Show\x20one\x20schedule\x20by\x20schedule\x20ID','106460GJJUop','2387yltgNg','deepseek-v4-flash-0731','CRON','num','Opaque\x20nextCursor\x20returned\x20by\x20the\x20previous\x20list\x20call','detail','Created\x20','\x20from\x20schedule\x20','--kind\x20must\x20be\x20CRON\x20or\x20ONCE.','cursor','a\x20UUID\x20returned\x20by\x20schedule\x20create/list','292764nmodWI','delete','Task\x20model\x20used\x20when\x20the\x20schedule\x20runs','Validate\x20a\x20UTC\x20schedule\x20without\x20creating\x20it','number','Deleted\x20schedule\x20','1594gNChlj','schedule','List\x20current\x20user\x27s\x20schedules\x20for\x20the\x20current\x20app','1930664sdJwjN','--title\x20must\x20not\x20be\x20blank.','Run\x20the\x20schedule\x20once\x20immediately\x20and\x20create\x20a\x20Task','/api/harness/apps/','Preview:\x20delete\x20schedule\x20','ONCE','Schedule\x20UUID','kind','run','isSafeInteger','--limit\x20must\x20be\x20an\x20integer\x20from\x201\x20to\x20100.','Ignores\x20the\x20original\x20trigger\x20time,\x20runs\x20the\x20schedule\x20once\x20now,\x20and\x20creates\x20a\x20new\x20Agent\x20Task.','Schedule\x20input\x20is\x20valid','length','DELETE','87753uscdjS','validation','validate','appCode','CRON\x20schedules\x20require\x20--cron\x20and\x20do\x20not\x20accept\x20--scheduled-at.','70Jdgtds','build','Canonical\x20UTC\x20ISO\x20datetime\x20for\x20ONCE\x20schedules','ONCE\x20schedules\x20require\x20--scheduled-at\x20and\x20do\x20not\x20accept\x20--cron.','kimi/k3','scheduleId','str','3294963vWnszZ','\x20schedule\x20','description','Permanently\x20deletes\x20the\x20schedule\x20and\x20stops\x20future\x20auto-triggers.\x20Historical\x20Tasks\x20already\x20created\x20are\x20not\x20affected.'];a58_0x3e91=function(){return _0x5289e9;};return a58_0x3e91();}(function(_0x33ba5b,_0x2b0581){const _0x5ebc33=a58_0xe6b8,_0xe71e9=_0x33ba5b();while(!![]){try{const _0x49e0df=parseInt(_0x5ebc33(0xde))/0x1+parseInt(_0x5ebc33(0xcc))/0x2*(-parseInt(_0x5ebc33(0xac))/0x3)+-parseInt(_0x5ebc33(0xad))/0x4+parseInt(_0x5ebc33(0xe3))/0x5*(-parseInt(_0x5ebc33(0xc6))/0x6)+parseInt(_0x5ebc33(0xb2))/0x7*(-parseInt(_0x5ebc33(0xcf))/0x8)+parseInt(_0x5ebc33(0xea))/0x9+-parseInt(_0x5ebc33(0xba))/0xa*(-parseInt(_0x5ebc33(0xbb))/0xb);if(_0x49e0df===_0x2b0581)break;else _0xe71e9['push'](_0xe71e9['shift']());}catch(_0x3e51a6){_0xe71e9['push'](_0xe71e9['shift']());}}}(a58_0x3e91,0x5e1c0));import{createRuntimeSchedule,deleteRuntimeSchedule,getRuntimeSchedule,listRuntimeSchedules,runRuntimeSchedule,validateRuntimeSchedule}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';const SCHEDULE_ID_PATTERN=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,KIND_FLAG={'name':a58_0x28822a(0xd6),'type':a58_0x28822a(0xa5),'required':!![],'enum':[a58_0x28822a(0xbd),'ONCE'],'description':a58_0x28822a(0xb7)},CRON_FLAG={'name':a58_0x28822a(0xa6),'type':a58_0x28822a(0xa5),'description':'Five-field\x20UTC\x20cron\x20expression\x20for\x20CRON\x20schedules'},SCHEDULED_AT_FLAG={'name':a58_0x28822a(0xb4),'type':a58_0x28822a(0xa5),'description':a58_0x28822a(0xe5)},TITLE_FLAG={'name':'title','type':a58_0x28822a(0xa5),'required':!![],'description':'Schedule\x20title'},PROMPT_FLAG={'name':'prompt','type':a58_0x28822a(0xa5),'required':!![],'description':'Prompt\x20sent\x20to\x20the\x20Agent\x20when\x20the\x20schedule\x20runs'},MODEL_FLAG={'name':'model','type':'string','enum':[a58_0x28822a(0xe7),a58_0x28822a(0xbc),a58_0x28822a(0xae)],'default':a58_0x28822a(0xbc),'description':a58_0x28822a(0xc8)},SCHEDULE_ID_FLAG={'name':a58_0x28822a(0xa9),'type':a58_0x28822a(0xa5),'required':!![],'description':a58_0x28822a(0xd5),'pattern':{'regex':SCHEDULE_ID_PATTERN,'description':a58_0x28822a(0xc5)}},LIMIT_FLAG={'name':'limit','type':a58_0x28822a(0xca),'default':0x14,'description':a58_0x28822a(0xb5)},CURSOR_FLAG={'name':a58_0x28822a(0xc4),'type':a58_0x28822a(0xa5),'description':a58_0x28822a(0xbf)},INPUT_FLAGS=[KIND_FLAG,CRON_FLAG,SCHEDULED_AT_FLAG,TITLE_FLAG,PROMPT_FLAG,MODEL_FLAG];function readScheduleInput(_0x20dcd7){const _0x528641=a58_0x28822a,_0x1854ff=_0x20dcd7[_0x528641(0xe9)]('kind'),_0x129ce4=_0x20dcd7[_0x528641(0xe9)]('title')[_0x528641(0xa8)](),_0x1136df=_0x20dcd7[_0x528641(0xe9)]('prompt')[_0x528641(0xa8)](),_0x5b9496=_0x20dcd7['str']('model'),_0x5957a6=_0x20dcd7[_0x528641(0xe9)](_0x528641(0xa6)),_0x3850e6=_0x20dcd7[_0x528641(0xe9)](_0x528641(0xb4));if(!_0x129ce4)throw CliErrors['validation'](_0x528641(0xd0));if(!_0x1136df)throw CliErrors[_0x528641(0xdf)](_0x528641(0xa4));if(_0x1854ff===_0x528641(0xbd)){if(!_0x5957a6||_0x3850e6)throw CliErrors[_0x528641(0xdf)](_0x528641(0xe2));return{'kind':_0x1854ff,'timezone':'UTC','cron':_0x5957a6,'title':_0x129ce4,'prompt':_0x1136df,'model':_0x5b9496};}if(_0x1854ff===_0x528641(0xd4)){if(!_0x3850e6||_0x5957a6)throw CliErrors[_0x528641(0xdf)](_0x528641(0xe6));return{'kind':_0x1854ff,'timezone':'UTC','scheduledAt':_0x3850e6,'title':_0x129ce4,'prompt':_0x1136df,'model':_0x5b9496};}throw CliErrors['validation'](_0x528641(0xc3));}function scheduleCollectionPath(_0x56eea9){const _0x2b7852=a58_0x28822a;return _0x2b7852(0xd2)+encodeURIComponent(_0x56eea9)+'/schedules';}function a58_0xe6b8(_0x5a480e,_0x10d663){_0x5a480e=_0x5a480e-0xa2;const _0x3e912f=a58_0x3e91();let _0xe6b81d=_0x3e912f[_0x5a480e];return _0xe6b81d;}function scheduleItemPath(_0xb28878,_0x95a135){return scheduleCollectionPath(_0xb28878)+'/'+encodeURIComponent(_0x95a135);}const scheduleValidate={'service':'schedule','command':a58_0x28822a(0xe0),'description':a58_0x28822a(0xc9),'risk':a58_0x28822a(0xb0),'flags':INPUT_FLAGS,async 'validate'(_0x34fd40){readScheduleInput(_0x34fd40);},async 'execute'(_0x50f659){const _0x5b46cb=a58_0x28822a,_0x53048d=readScheduleInput(_0x50f659),_0x5ed402=await validateRuntimeSchedule(_0x50f659[_0x5b46cb(0xe1)],_0x53048d);return{'ok':!![],'data':_0x5ed402,'message':_0x5b46cb(0xdb)};}},scheduleCreate={'service':'schedule','command':'create','description':'Create\x20a\x20recurring\x20or\x20one-shot\x20Agent\x20schedule','risk':a58_0x28822a(0xa7),'confirmationDescription':a58_0x28822a(0xab),'flags':INPUT_FLAGS,async 'validate'(_0xb0a04a){readScheduleInput(_0xb0a04a);},async 'execute'(_0x2af780){const _0x2fea00=a58_0x28822a,_0x4df432=readScheduleInput(_0x2af780),_0x5c7011=await validateRuntimeSchedule(_0x2af780['appCode'],_0x4df432),_0x17606d=await createRuntimeSchedule(_0x2af780[_0x2fea00(0xe1)],_0x5c7011);return{'ok':!![],'data':_0x17606d,'message':_0x2fea00(0xc1)+_0x17606d[_0x2fea00(0xd6)]+_0x2fea00(0xeb)+_0x17606d[_0x2fea00(0xe8)]};},async 'dryRun'(_0x161895){const _0x23079a=a58_0x28822a,_0x3a7e66=readScheduleInput(_0x161895);return dryRun(_0x23079a(0xb1),scheduleCollectionPath(_0x161895[_0x23079a(0xe1)]))['body'](_0x3a7e66)['description']('Preview:\x20create\x20an\x20Agent\x20schedule')['build']();}},scheduleList={'service':'schedule','command':'list','description':a58_0x28822a(0xce),'risk':a58_0x28822a(0xb0),'flags':[KIND_FLAG,LIMIT_FLAG,CURSOR_FLAG],async 'validate'(_0x14d5bf){const _0x44acd3=a58_0x28822a,_0x4e4249=_0x14d5bf[_0x44acd3(0xbe)](_0x44acd3(0xb8));if(!Number[_0x44acd3(0xd8)](_0x4e4249)||_0x4e4249<0x1||_0x4e4249>0x64)throw CliErrors['validation'](_0x44acd3(0xd9));const _0x3b8f65=_0x14d5bf[_0x44acd3(0xe9)](_0x44acd3(0xc4));if(_0x3b8f65&&(_0x3b8f65[_0x44acd3(0xdc)]>0x400||_0x3b8f65[_0x44acd3(0xa8)]()!==_0x3b8f65))throw CliErrors['validation'](_0x44acd3(0xb3));},async 'execute'(_0x448045){const _0x27800f=a58_0x28822a,_0x200058=_0x448045[_0x27800f(0xe9)](_0x27800f(0xc4)),_0x430821=await listRuntimeSchedules(_0x448045['appCode'],{'kind':_0x448045[_0x27800f(0xe9)](_0x27800f(0xd6)),'limit':_0x448045[_0x27800f(0xbe)]('limit'),..._0x200058?{'cursor':_0x200058}:{}});return{'ok':!![],'data':_0x430821};}},scheduleDetail={'service':a58_0x28822a(0xcd),'command':a58_0x28822a(0xc0),'description':a58_0x28822a(0xb9),'risk':a58_0x28822a(0xb0),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x72970d){const _0x1145b5=a58_0x28822a,_0x3a1cd7=await getRuntimeSchedule(_0x72970d[_0x1145b5(0xe1)],_0x72970d['str'](_0x1145b5(0xa9)));return{'ok':!![],'data':_0x3a1cd7};}},scheduleRun={'service':'schedule','command':a58_0x28822a(0xd7),'description':a58_0x28822a(0xd1),'risk':a58_0x28822a(0xa7),'confirmationDescription':a58_0x28822a(0xda),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x42554b){const _0x2631f7=a58_0x28822a,_0x498384=_0x42554b['str'](_0x2631f7(0xa9)),_0x37f175=await runRuntimeSchedule(_0x42554b[_0x2631f7(0xe1)],_0x498384);return{'ok':!![],'data':_0x37f175,'message':'Queued\x20Task\x20'+_0x37f175[_0x2631f7(0xaa)]+_0x2631f7(0xc2)+_0x498384};},async 'dryRun'(_0x476c64){const _0x43dd77=a58_0x28822a,_0x2cc372=_0x476c64[_0x43dd77(0xe9)](_0x43dd77(0xa9));return dryRun('POST',scheduleItemPath(_0x476c64[_0x43dd77(0xe1)],_0x2cc372)+'/run')['description'](_0x43dd77(0xaf)+_0x2cc372+'\x20immediately')[_0x43dd77(0xe4)]();}},scheduleDelete={'service':a58_0x28822a(0xcd),'command':a58_0x28822a(0xc7),'description':a58_0x28822a(0xb6),'risk':a58_0x28822a(0xa7),'confirmationDescription':a58_0x28822a(0xa3),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x39accf){const _0x2949b2=a58_0x28822a,_0x3fc057=_0x39accf[_0x2949b2(0xe9)]('schedule-id'),_0x154399=await deleteRuntimeSchedule(_0x39accf[_0x2949b2(0xe1)],_0x3fc057);return{'ok':!![],'data':_0x154399,'message':_0x2949b2(0xcb)+_0x3fc057};},async 'dryRun'(_0x3b0780){const _0x36edde=a58_0x28822a,_0xcd4849=_0x3b0780[_0x36edde(0xe9)](_0x36edde(0xa9));return dryRun(_0x36edde(0xdd),scheduleItemPath(_0x3b0780[_0x36edde(0xe1)],_0xcd4849))[_0x36edde(0xa2)](_0x36edde(0xd3)+_0xcd4849)['build']();}};export const scheduleDefinitions=[scheduleValidate,scheduleCreate,scheduleList,scheduleDetail,scheduleRun,scheduleDelete];
|
package/lib/commands/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a59_0x34f800=a59_0x2352;(function(_0x578b05,_0x11d438){const _0x2a98a2=a59_0x2352,_0x2131dd=_0x578b05();while(!![]){try{const _0x2388f5=-parseInt(_0x2a98a2(0xdc))/0x1*(parseInt(_0x2a98a2(0xdb))/0x2)+-parseInt(_0x2a98a2(0xe0))/0x3*(parseInt(_0x2a98a2(0xe1))/0x4)+-parseInt(_0x2a98a2(0xd9))/0x5+-parseInt(_0x2a98a2(0xdf))/0x6+-parseInt(_0x2a98a2(0xe7))/0x7*(-parseInt(_0x2a98a2(0xe4))/0x8)+-parseInt(_0x2a98a2(0xe2))/0x9*(-parseInt(_0x2a98a2(0xda))/0xa)+-parseInt(_0x2a98a2(0xe3))/0xb*(-parseInt(_0x2a98a2(0xde))/0xc);if(_0x2388f5===_0x11d438)break;else _0x2131dd['push'](_0x2131dd['shift']());}catch(_0x4e1c52){_0x2131dd['push'](_0x2131dd['shift']());}}}(a59_0x34c5,0x81fe7));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x238611){const _0xe41189=await buildSchemaPayload();return{'ok':!![],'data':_0xe41189};}function a59_0x2352(_0x572402,_0x8144d1){_0x572402=_0x572402-0xd9;const _0x34c5c0=a59_0x34c5();let _0x235204=_0x34c5c0[_0x572402];return _0x235204;}export const schemaDefinition={'service':a59_0x34f800(0xe5),'command':a59_0x34f800(0xe6),'description':a59_0x34f800(0xdd),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};function a59_0x34c5(){const _0x3008a1=['export','1897NTjtMh','1271290gVOjin','3104280IGimqi','10QEZsJb','857loWrhY','Export\x20machine-readable\x20command\x20schema\x20(JSON)','3636dBxjRP','1783824PaliOX','1175667YiJbKG','8MpehXE','9KRWycm','37873DHTTrb','15304Lmqazl','schema'];a59_0x34c5=function(){return _0x3008a1;};return a59_0x34c5();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x32fad3,_0x3872de){const _0x587d6e=a60_0x39c7,_0x4234ea=_0x32fad3();while(!![]){try{const _0x5d84b0=parseInt(_0x587d6e(0x220))/0x1+parseInt(_0x587d6e(0x232))/0x2+-parseInt(_0x587d6e(0x1ec))/0x3*(-parseInt(_0x587d6e(0x205))/0x4)+parseInt(_0x587d6e(0x1fe))/0x5*(parseInt(_0x587d6e(0x1fc))/0x6)+-parseInt(_0x587d6e(0x20d))/0x7*(parseInt(_0x587d6e(0x1f2))/0x8)+-parseInt(_0x587d6e(0x1fb))/0x9*(-parseInt(_0x587d6e(0x235))/0xa)+-parseInt(_0x587d6e(0x21d))/0xb*(parseInt(_0x587d6e(0x1d1))/0xc);if(_0x5d84b0===_0x3872de)break;else _0x4234ea['push'](_0x4234ea['shift']());}catch(_0x36c3cd){_0x4234ea['push'](_0x4234ea['shift']());}}}(a60_0x56e4,0x6f82b));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(_0x4cdb9d,_0x24bb36){const _0xf6ea9c=a60_0x39c7,_0x39c1ba=listLocalServiceTrees();let _0x4f75e7;for(const _0xfc693e of _0x39c1ba){const _0x569e89=matchServiceTreeCommand(_0xfc693e,_0x4cdb9d);if(!_0x569e89)continue;(!_0x4f75e7||_0x569e89[_0xf6ea9c(0x213)][_0xf6ea9c(0x1ff)][_0xf6ea9c(0x1e8)]>_0x4f75e7[_0xf6ea9c(0x213)][_0xf6ea9c(0x1ff)]['length'])&&(_0x4f75e7={'tree':_0xfc693e,'command':_0x569e89[_0xf6ea9c(0x213)],'remainingArgs':_0x569e89['remainingArgs']});}if(!_0x4f75e7)return undefined;const _0x4362ff={..._0x24bb36};return applyAppBinding(_0x4f75e7[_0xf6ea9c(0x1f6)],_0x4f75e7['command'],_0x4362ff),{'definition':buildDynamicCommandDefinition(_0x4f75e7[_0xf6ea9c(0x1f6)],_0x4f75e7[_0xf6ea9c(0x213)]),'args':_0x4f75e7[_0xf6ea9c(0x200)],'flags':_0x4362ff,'tree':_0x4f75e7['tree'],'command':_0x4f75e7[_0xf6ea9c(0x213)]};}export function generateDynamicServiceHelp(_0x538457){const _0x25ebc1=a60_0x39c7,_0x3e6911=listLocalServiceTrees()[_0x25ebc1(0x219)](_0xe81980=>_0xe81980['service'][_0x25ebc1(0x1e3)]===_0x538457);if(!_0x3e6911)return undefined;const _0x3a8021=[CLI_BIN_NAME+'\x20'+_0x538457+_0x25ebc1(0x1e9),'',_0x3e6911[_0x25ebc1(0x1ed)]['name']||_0x538457,_0x3e6911['service'][_0x25ebc1(0x21c)]?'\x20\x20'+_0x3e6911[_0x25ebc1(0x1ed)][_0x25ebc1(0x21c)]:'','',_0x25ebc1(0x1e0),..._0x3e6911['commands'][_0x25ebc1(0x21f)](_0x57b071=>{const _0x4d807c=_0x25ebc1,_0x10c0b4=_0x57b071['fullPath'][_0x4d807c(0x201)](0x1)['join']('\x20'),_0xaa4da6=_0x57b071['risk']==='read'?'':'\x20['+_0x57b071[_0x4d807c(0x207)]+']';return'\x20\x20'+_0x10c0b4[_0x4d807c(0x227)](0x18)+'\x20'+(_0x57b071[_0x4d807c(0x21c)]||'')+_0xaa4da6;}),'',_0x25ebc1(0x204)+CLI_BIN_NAME+_0x25ebc1(0x1eb)+_0x538457+_0x25ebc1(0x1f5)]['filter'](Boolean);return _0x3a8021[_0x25ebc1(0x21b)]('\x0a');}export function listDynamicServiceEntries(){const _0x4f8a2b=a60_0x39c7;return listLocalServices()[_0x4f8a2b(0x21f)](_0x25420c=>{const _0x5921ba=_0x4f8a2b,_0x3fae8e=_0x25420c[_0x5921ba(0x1dc)];return{'service':_0x3fae8e[_0x5921ba(0x1ed)][_0x5921ba(0x1e3)],'label':_0x3fae8e['service'][_0x5921ba(0x203)]||_0x3fae8e[_0x5921ba(0x1ed)]['code'],'commands':_0x3fae8e[_0x5921ba(0x1f1)]['map'](_0x3542b1=>({'command':dynamicCommandName(_0x3542b1),'description':_0x3542b1['description']||_0x5921ba(0x224)+_0x3542b1[_0x5921ba(0x236)],'tag':riskTag(_0x3542b1[_0x5921ba(0x207)])}))};});}function a60_0x39c7(_0x187347,_0x4697d1){_0x187347=_0x187347-0x1d1;const _0x56e434=a60_0x56e4();let _0x39c786=_0x56e434[_0x187347];return _0x39c786;}function a60_0x56e4(){const _0x3811d7=['6uSHRpe','service','operator','datatable','nickname','commands','31016dHGLpK','appcode','app','`\x20to\x20inspect\x20the\x20manifest.','tree','tenantCode','userName','\x20\x20MAP\x20TO','Service\x20command\x20','9uVuPlo','52842dcxmPA','filter','315hKzVgJ','fullPath','remainingArgs','slice','Preview\x20dynamic\x20service\x20command:\x20','name','Use\x20`','1791508knVHso','The\x20manifest\x20marks\x20this\x20command\x20as\x20a\x20high-risk\x20write.\x20It\x20may\x20make\x20business\x20changes\x20that\x20are\x20hard\x20to\x20reverse.','risk','some','The\x20manifest\x20marks\x20this\x20command\x20as\x20a\x20write.\x20It\x20may\x20change\x20business\x20data\x20or\x20service\x20state.','sqlCode','\x20\x20\x20\x20command:\x20','bffId','273tIJZgR','\x20\x20[','\x20\x20\x20\x20sqlCode:\x20','SERVICE_TREE','cliName','userId','command','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','read','bff','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','number','find','appCode','join','description','2926gsBlKV','flatMap','map','346301rfmcZB','default','rawFlags','flags','Run\x20service\x20command\x20','args','\x20\x20\x20\x20','padEnd','appRef','entries','\x20\x20\x20\x20kind:\x20\x20\x20\x20','\x22\x20in\x20service\x20command\x20','\x20\x20\x20\x20functionName:\x20','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','required','source','push','target','605326zVCepX','now','params','1504090lHlSPD','cliPath','74076ZniAKn','dbtableConfig','env','nickName','bffCode','sql','\x20\x20\x20\x20datasetCode:\x20','startsWith','scriptName','string','employeeId','normalizedManifest','\x20requires\x20target.functionName.','mapTo','This\x20will\x20run\x20Service\x20Tree\x20command\x20\x22','Commands:','validation','datasetCode','code','\x20\x20SERVICE\x20TREE\x20TARGET','kind','envName','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','length','\x20<command>\x20[flags]','\x20->\x20','\x20service\x20detail\x20--service\x20'];a60_0x56e4=function(){return _0x3811d7;};return a60_0x56e4();}export function getDynamicServiceEntry(_0x30d290){const _0x3951e1=a60_0x39c7;return listDynamicServiceEntries()[_0x3951e1(0x219)](_0x338fe5=>_0x338fe5[_0x3951e1(0x1ed)]===_0x30d290);}export function listDynamicServiceDefinitions(_0x24c9b5){const _0x371ddc=a60_0x39c7;return listLocalServiceTrees()[_0x371ddc(0x1fd)](_0x491388=>!_0x24c9b5||_0x491388[_0x371ddc(0x1ed)][_0x371ddc(0x1e3)]===_0x24c9b5)[_0x371ddc(0x21e)](_0x50114e=>_0x50114e[_0x371ddc(0x1f1)]['map'](_0x2b8ca5=>buildDynamicCommandDefinition(_0x50114e,_0x2b8ca5)));}export function getDynamicServiceDefinitions(_0x5a2392){const _0x2ec02e=a60_0x39c7,_0xfd7666=listDynamicServiceDefinitions(_0x5a2392);return _0xfd7666[_0x2ec02e(0x1e8)]>0x0?_0xfd7666:undefined;}export function findDynamicServiceDefinition(_0x2ed5b2,_0x36f173){const _0x6a5fc=a60_0x39c7;return listDynamicServiceDefinitions(_0x2ed5b2)[_0x6a5fc(0x219)](_0x1ac222=>_0x1ac222['command']===_0x36f173);}export function buildDynamicCommandDefinition(_0x366964,_0x2328a5){const _0xd059ea=a60_0x39c7;return{'service':_0x366964['service'][_0xd059ea(0x1e3)],'command':dynamicCommandName(_0x2328a5),'description':_0x2328a5['description']||_0xd059ea(0x224)+_0x2328a5['cliPath'],'risk':_0x2328a5[_0xd059ea(0x207)],..._0x2328a5[_0xd059ea(0x207)]==='read'?{}:{'confirmationDescription':buildDynamicConfirmationDescription(_0x2328a5)},'requiresAuth':!![],'requiresAppCode':!![],'args':_0x2328a5[_0xd059ea(0x225)]['map'](_0x502179=>({'name':_0x502179[_0xd059ea(0x203)],'description':_0x502179[_0xd059ea(0x21c)]||_0x502179['name'],'required':_0x502179[_0xd059ea(0x22e)]})),'flags':_0x2328a5[_0xd059ea(0x223)]['map'](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x2328a5),async 'dryRun'(_0xdb19e3){const _0x42ecd5=_0xd059ea,_0x2d0d85=await compilePlan(_0x2328a5,_0xdb19e3);return{'method':_0x42ecd5(0x210),'url':_0x2328a5[_0x42ecd5(0x236)],'body':{'target':targetPreview(_0x2d0d85),'params':_0x2d0d85[_0x42ecd5(0x234)]},'description':_0x42ecd5(0x202)+_0x2328a5[_0x42ecd5(0x236)]};},async 'execute'(_0x548f63){const _0x297d6f=_0xd059ea,_0x29326a=await compilePlan(_0x2328a5,_0x548f63),_0x381ddb=Date[_0x297d6f(0x233)](),_0x1c7dfd=await executePlan(_0x29326a,_0x2328a5,_0x548f63),_0x449363=Date[_0x297d6f(0x233)]()-_0x381ddb;return{'ok':!![],'data':{'service':_0x366964[_0x297d6f(0x1ed)],'command':_0x2328a5[_0x297d6f(0x236)],'target':targetPreview(_0x29326a),'result':_0x1c7dfd,'elapsed':_0x449363},'message':_0x297d6f(0x1fa)+_0x2328a5[_0x297d6f(0x236)]+'\x20completed\x20in\x20'+_0x449363+'ms'};}};}function buildDynamicConfirmationDescription(_0x7555ec){const _0x150057=a60_0x39c7,_0x2941a7=_0x7555ec[_0x150057(0x21c)]||_0x7555ec['cliPath'],_0x37b10c=_0x7555ec[_0x150057(0x207)]==='high-risk-write'?_0x150057(0x206):_0x150057(0x209);return _0x150057(0x1df)+_0x2941a7+'\x22.\x20'+_0x37b10c;}function dynamicCommandName(_0x46e12c){const _0x9e284a=a60_0x39c7;return _0x46e12c[_0x9e284a(0x1ff)]['slice'](0x1)[_0x9e284a(0x21b)]('\x20');}function riskTag(_0x7e76c6){const _0x310a00=a60_0x39c7;return _0x7e76c6===_0x310a00(0x215)?'':_0x310a00(0x20e)+_0x7e76c6+']';}function flagToCommandFlag(_0x1dc30a){const _0x21aaea=a60_0x39c7;return{'name':_0x1dc30a[_0x21aaea(0x211)],'type':_0x1dc30a['type']==='json'?_0x21aaea(0x1da):_0x1dc30a['type'],'description':_0x1dc30a[_0x21aaea(0x21c)]||_0x1dc30a[_0x21aaea(0x203)],'required':_0x1dc30a[_0x21aaea(0x22e)],'default':isPrimitiveFlagDefault(_0x1dc30a[_0x21aaea(0x221)])?_0x1dc30a[_0x21aaea(0x221)]:undefined,'enum':_0x1dc30a['enum']};}async function compilePlan(_0x43f065,_0x39933b){const _0xe2c704=a60_0x39c7;return compileServiceTreeCommand(_0x43f065,{'flags':_0x39933b[_0xe2c704(0x222)],'args':_0x39933b[_0xe2c704(0x225)],'context':await buildServiceContext(_0x43f065,_0x39933b)});}async function buildServiceContext(_0x311541,_0x43494a){const _0x2e242f=a60_0x39c7,_0x619db2={'appCode':_0x43494a['appCode'],'env':_0x43494a[_0x2e242f(0x1e6)],'envName':_0x43494a['envName']};if(!usesRuntimeContext(_0x311541))return _0x619db2;const _0x586a19=await getLoginUserInfo(),_0x308dea=pickFirst(_0x586a19[_0x2e242f(0x212)],_0x586a19['id']);return{..._0x619db2,'user':_0x586a19,'userId':_0x308dea,'id':_0x586a19['id'],'username':pickFirst(_0x586a19['username'],_0x586a19['userName'],_0x586a19['loginName']),'userName':_0x586a19[_0x2e242f(0x1f8)],'nickname':pickFirst(_0x586a19[_0x2e242f(0x1f0)],_0x586a19[_0x2e242f(0x1d4)]),'nickName':_0x586a19[_0x2e242f(0x1d4)],'tenantCode':_0x586a19[_0x2e242f(0x1f7)],'employeeId':_0x586a19[_0x2e242f(0x1db)]};}function usesRuntimeContext(_0x282913){const _0x392412=a60_0x39c7;return _0x282913[_0x392412(0x1de)][_0x392412(0x208)](_0x312b68=>typeof _0x312b68[_0x392412(0x22f)]===_0x392412(0x1da)&&(_0x312b68[_0x392412(0x22f)][_0x392412(0x1d8)]('context.')||_0x312b68['source'][_0x392412(0x1d8)]('ctx.')));}function pickFirst(..._0xc6cc55){const _0xd1f323=a60_0x39c7;return _0xc6cc55[_0xd1f323(0x219)](_0x244e03=>_0x244e03!==undefined&&_0x244e03!==null);}async function executePlan(_0x266cca,_0x173535,_0x5f23ca){const _0x275be3=a60_0x39c7;if(_0x266cca[_0x275be3(0x1e5)]==='data'){const _0x117408=await resolveDatasetCode(_0x266cca,_0x173535,_0x5f23ca);return executeData(_0x117408,_0x266cca['command'],_0x266cca[_0x275be3(0x234)]);}if(_0x266cca[_0x275be3(0x1e5)]===_0x275be3(0x1d6)){if(!_0x266cca[_0x275be3(0x20a)])throw CliErrors['validation'](_0x275be3(0x1fa)+_0x173535[_0x275be3(0x236)]+'\x20requires\x20target.sqlCode.');return executeSdkSql(_0x266cca[_0x275be3(0x20a)],normalizeScalarParams(_0x266cca[_0x275be3(0x234)]));}if(_0x266cca[_0x275be3(0x1e5)]===_0x275be3(0x216)){const _0x453d1d=_0x266cca['scriptName']||_0x266cca[_0x275be3(0x1d5)]||(_0x266cca[_0x275be3(0x20c)]==null?'':String(_0x266cca[_0x275be3(0x20c)]));if(!_0x453d1d)throw CliErrors[_0x275be3(0x1e1)]('Service\x20command\x20'+_0x173535[_0x275be3(0x236)]+_0x275be3(0x1dd));return executeSdkBff(_0x453d1d,_0x266cca[_0x275be3(0x234)]);}throw CliErrors[_0x275be3(0x1e1)]('Unsupported\x20service\x20target\x20kind:\x20'+_0x266cca[_0x275be3(0x1e5)]);}async function resolveDatasetCode(_0x1169f3,_0x386a8b,_0x3b08bd){const _0x271706=a60_0x39c7;if(_0x1169f3[_0x271706(0x1e2)])return _0x1169f3[_0x271706(0x1e2)];if(!_0x1169f3['datatable'])throw CliErrors['validation']('Service\x20command\x20'+_0x386a8b[_0x271706(0x236)]+_0x271706(0x217));const _0x127a37=await listDatasets(_0x3b08bd[_0x271706(0x21a)]),_0x3e7949=_0x127a37[_0x271706(0x219)](_0x5b2c3e=>_0x5b2c3e[_0x271706(0x1d2)]?.['tableName']===_0x1169f3[_0x271706(0x1ef)]);if(!_0x3e7949?.[_0x271706(0x1e3)])throw CliErrors[_0x271706(0x1e1)]('Cannot\x20resolve\x20datatable\x20\x22'+_0x1169f3[_0x271706(0x1ef)]+_0x271706(0x1e7)+_0x3b08bd[_0x271706(0x21a)]+'.',_0x271706(0x214));return _0x3e7949[_0x271706(0x1e3)];}function applyAppBinding(_0x52227a,_0x2f40db,_0x547d6e){const _0x34ec34=a60_0x39c7,_0x4b2e6e=_0x2f40db['target'][_0x34ec34(0x228)];if(!_0x4b2e6e)return;const _0x2408aa=_0x52227a['appBindings'][_0x4b2e6e];if(!_0x2408aa)throw CliErrors['validation']('Unknown\x20appRef\x20\x22'+_0x4b2e6e+_0x34ec34(0x22b)+_0x2f40db[_0x34ec34(0x236)]+'.',_0x34ec34(0x22d));const _0x46e5a7=_0x2408aa[_0x34ec34(0x1f3)]||_0x2408aa['appCode'];_0x46e5a7&&!hasText(_0x547d6e['appcode'])&&(_0x547d6e[_0x34ec34(0x1f3)]=_0x46e5a7),_0x2408aa['app']&&!hasText(_0x547d6e['app'])&&!hasText(_0x547d6e['appcode'])&&(_0x547d6e[_0x34ec34(0x1f4)]=_0x2408aa[_0x34ec34(0x1f4)]),_0x2408aa[_0x34ec34(0x1d3)]&&!hasText(_0x547d6e[_0x34ec34(0x1d3)])&&(_0x547d6e[_0x34ec34(0x1d3)]=_0x2408aa[_0x34ec34(0x1d3)]);}function renderDynamicCommandHelp(_0x2d2349){const _0x51bb61=a60_0x39c7,_0x28971b=[_0x51bb61(0x1e4),_0x51bb61(0x22a)+_0x2d2349[_0x51bb61(0x231)]['kind'],_0x51bb61(0x20b)+_0x2d2349[_0x51bb61(0x231)][_0x51bb61(0x213)]];if(_0x2d2349[_0x51bb61(0x231)][_0x51bb61(0x1e2)])_0x28971b[_0x51bb61(0x230)](_0x51bb61(0x1d7)+_0x2d2349[_0x51bb61(0x231)][_0x51bb61(0x1e2)]);if(_0x2d2349[_0x51bb61(0x231)][_0x51bb61(0x1ef)])_0x28971b['push']('\x20\x20\x20\x20datatable:\x20'+_0x2d2349['target']['datatable']);if(_0x2d2349[_0x51bb61(0x231)]['sqlCode'])_0x28971b[_0x51bb61(0x230)](_0x51bb61(0x20f)+_0x2d2349['target'][_0x51bb61(0x20a)]);if(_0x2d2349['target']['scriptName'])_0x28971b[_0x51bb61(0x230)](_0x51bb61(0x22c)+_0x2d2349['target'][_0x51bb61(0x1d9)]);if(_0x2d2349[_0x51bb61(0x1de)][_0x51bb61(0x1e8)]>0x0){_0x28971b[_0x51bb61(0x230)]('',_0x51bb61(0x1f9));for(const _0x1a3d99 of _0x2d2349[_0x51bb61(0x1de)]){_0x28971b[_0x51bb61(0x230)](_0x51bb61(0x226)+(_0x1a3d99[_0x51bb61(0x22f)]||'const')+_0x51bb61(0x1ea)+_0x1a3d99[_0x51bb61(0x231)]+(_0x1a3d99['operator']?'.'+_0x1a3d99[_0x51bb61(0x1ee)]:''));}}return _0x28971b[_0x51bb61(0x21b)]('\x0a');}function targetPreview(_0x61883){const _0x352a67=a60_0x39c7;return{'kind':_0x61883['kind'],'command':_0x61883[_0x352a67(0x213)],'appRef':_0x61883['appRef'],'datasetCode':_0x61883[_0x352a67(0x1e2)],'datatable':_0x61883[_0x352a67(0x1ef)],'sqlCode':_0x61883[_0x352a67(0x20a)],'bffCode':_0x61883[_0x352a67(0x1d5)],'bffId':_0x61883[_0x352a67(0x20c)],'functionName':_0x61883[_0x352a67(0x1d9)]};}function normalizeScalarParams(_0x125dbf){const _0x150b24=a60_0x39c7;return Object['fromEntries'](Object[_0x150b24(0x229)](_0x125dbf)['filter'](([,_0x26c00c])=>typeof _0x26c00c===_0x150b24(0x1da)||typeof _0x26c00c==='number'));}function hasText(_0x10dfef){const _0x5229bf=a60_0x39c7;return typeof _0x10dfef==='string'&&_0x10dfef['trim']()[_0x5229bf(0x1e8)]>0x0;}function isPrimitiveFlagDefault(_0x2d1105){const _0x47c0da=a60_0x39c7;return _0x2d1105===undefined||typeof _0x2d1105===_0x47c0da(0x1da)||typeof _0x2d1105===_0x47c0da(0x218)||typeof _0x2d1105==='boolean';}
|
|
1
|
+
(function(_0x373b5c,_0x2ac112){const _0x1d72b8=a60_0x33b0,_0x20cc55=_0x373b5c();while(!![]){try{const _0x605e1b=-parseInt(_0x1d72b8(0x113))/0x1*(parseInt(_0x1d72b8(0x127))/0x2)+parseInt(_0x1d72b8(0x120))/0x3*(parseInt(_0x1d72b8(0x12f))/0x4)+parseInt(_0x1d72b8(0x14c))/0x5+-parseInt(_0x1d72b8(0x129))/0x6+-parseInt(_0x1d72b8(0x11e))/0x7+parseInt(_0x1d72b8(0x130))/0x8*(-parseInt(_0x1d72b8(0x12e))/0x9)+parseInt(_0x1d72b8(0x176))/0xa*(parseInt(_0x1d72b8(0x163))/0xb);if(_0x605e1b===_0x2ac112)break;else _0x20cc55['push'](_0x20cc55['shift']());}catch(_0x47e85d){_0x20cc55['push'](_0x20cc55['shift']());}}}(a60_0x691d,0x7ea60));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(_0x239dab,_0x39581b){const _0x58e28f=a60_0x33b0,_0x1998fc=listLocalServiceTrees();let _0x4cae39;for(const _0x56a062 of _0x1998fc){const _0x3546d0=matchServiceTreeCommand(_0x56a062,_0x239dab);if(!_0x3546d0)continue;(!_0x4cae39||_0x3546d0[_0x58e28f(0x150)][_0x58e28f(0x131)][_0x58e28f(0x171)]>_0x4cae39[_0x58e28f(0x150)]['fullPath'][_0x58e28f(0x171)])&&(_0x4cae39={'tree':_0x56a062,'command':_0x3546d0[_0x58e28f(0x150)],'remainingArgs':_0x3546d0[_0x58e28f(0x13d)]});}if(!_0x4cae39)return undefined;const _0x246a30={..._0x39581b};return applyAppBinding(_0x4cae39['tree'],_0x4cae39[_0x58e28f(0x150)],_0x246a30),{'definition':buildDynamicCommandDefinition(_0x4cae39[_0x58e28f(0x141)],_0x4cae39['command']),'args':_0x4cae39[_0x58e28f(0x13d)],'flags':_0x246a30,'tree':_0x4cae39[_0x58e28f(0x141)],'command':_0x4cae39[_0x58e28f(0x150)]};}export function generateDynamicServiceHelp(_0x1069c3){const _0x36e3dc=a60_0x33b0,_0x234211=listLocalServiceTrees()['find'](_0x5e82c5=>_0x5e82c5[_0x36e3dc(0x139)]['code']===_0x1069c3);if(!_0x234211)return undefined;const _0x1a54b4=[CLI_BIN_NAME+'\x20'+_0x1069c3+_0x36e3dc(0x146),'',_0x234211[_0x36e3dc(0x139)][_0x36e3dc(0x12d)]||_0x1069c3,_0x234211[_0x36e3dc(0x139)][_0x36e3dc(0x151)]?'\x20\x20'+_0x234211[_0x36e3dc(0x139)][_0x36e3dc(0x151)]:'','',_0x36e3dc(0x143),..._0x234211[_0x36e3dc(0x124)]['map'](_0x4bac82=>{const _0x406a1f=_0x36e3dc,_0x4691a6=_0x4bac82['fullPath'][_0x406a1f(0x15f)](0x1)['join']('\x20'),_0x2bb609=_0x4bac82[_0x406a1f(0x142)]===_0x406a1f(0x15c)?'':'\x20['+_0x4bac82['risk']+']';return'\x20\x20'+_0x4691a6['padEnd'](0x18)+'\x20'+(_0x4bac82[_0x406a1f(0x151)]||'')+_0x2bb609;}),'',_0x36e3dc(0x12c)+CLI_BIN_NAME+'\x20service\x20detail\x20--service\x20'+_0x1069c3+_0x36e3dc(0x132)][_0x36e3dc(0x122)](Boolean);return _0x1a54b4[_0x36e3dc(0x116)]('\x0a');}export function listDynamicServiceEntries(){return listLocalServices()['map'](_0x6896ef=>{const _0x18d6c0=a60_0x33b0,_0x31dc2f=_0x6896ef['normalizedManifest'];return{'service':_0x31dc2f[_0x18d6c0(0x139)][_0x18d6c0(0x14b)],'label':_0x31dc2f['service']['name']||_0x31dc2f[_0x18d6c0(0x139)]['code'],'commands':_0x31dc2f[_0x18d6c0(0x124)][_0x18d6c0(0x158)](_0xfb47e3=>({'command':dynamicCommandName(_0xfb47e3),'description':_0xfb47e3['description']||_0x18d6c0(0x118)+_0xfb47e3['cliPath'],'tag':riskTag(_0xfb47e3['risk'])}))};});}export function getDynamicServiceEntry(_0x4d97ff){const _0x380a9f=a60_0x33b0;return listDynamicServiceEntries()[_0x380a9f(0x173)](_0x33a387=>_0x33a387[_0x380a9f(0x139)]===_0x4d97ff);}export function listDynamicServiceDefinitions(_0x34e91e){const _0x7d761e=a60_0x33b0;return listLocalServiceTrees()[_0x7d761e(0x122)](_0x1355e8=>!_0x34e91e||_0x1355e8[_0x7d761e(0x139)][_0x7d761e(0x14b)]===_0x34e91e)[_0x7d761e(0x16a)](_0x39b85d=>_0x39b85d[_0x7d761e(0x124)][_0x7d761e(0x158)](_0x440e4f=>buildDynamicCommandDefinition(_0x39b85d,_0x440e4f)));}export function getDynamicServiceDefinitions(_0x392cff){const _0x33b82e=a60_0x33b0,_0x3d5fc2=listDynamicServiceDefinitions(_0x392cff);return _0x3d5fc2[_0x33b82e(0x171)]>0x0?_0x3d5fc2:undefined;}export function findDynamicServiceDefinition(_0x52cefb,_0x5269df){const _0x1ab9dd=a60_0x33b0;return listDynamicServiceDefinitions(_0x52cefb)[_0x1ab9dd(0x173)](_0x42c8db=>_0x42c8db[_0x1ab9dd(0x150)]===_0x5269df);}export function buildDynamicCommandDefinition(_0x2f2842,_0x428a06){const _0x128f78=a60_0x33b0;return{'service':_0x2f2842[_0x128f78(0x139)][_0x128f78(0x14b)],'command':dynamicCommandName(_0x428a06),'description':_0x428a06[_0x128f78(0x151)]||_0x128f78(0x118)+_0x428a06[_0x128f78(0x14a)],'risk':_0x428a06['risk'],..._0x428a06[_0x128f78(0x142)]===_0x128f78(0x15c)?{}:{'confirmationDescription':buildDynamicConfirmationDescription(_0x428a06)},'requiresAuth':!![],'requiresAppCode':!![],'args':_0x428a06['args']['map'](_0x1a6561=>({'name':_0x1a6561[_0x128f78(0x12d)],'description':_0x1a6561[_0x128f78(0x151)]||_0x1a6561[_0x128f78(0x12d)],'required':_0x1a6561['required']})),'flags':_0x428a06[_0x128f78(0x167)][_0x128f78(0x158)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x428a06),async 'dryRun'(_0x1240ee){const _0x497efc=_0x128f78,_0x4b3f33=await compilePlan(_0x428a06,_0x1240ee);return{'method':'SERVICE_TREE','url':_0x428a06['cliPath'],'body':{'target':targetPreview(_0x4b3f33),'params':_0x4b3f33[_0x497efc(0x161)]},'description':'Preview\x20dynamic\x20service\x20command:\x20'+_0x428a06[_0x497efc(0x14a)]};},async 'execute'(_0x2a5968){const _0x5c259f=_0x128f78,_0x34df79=await compilePlan(_0x428a06,_0x2a5968),_0xeaedd=Date['now'](),_0x4175ee=await executePlan(_0x34df79,_0x428a06,_0x2a5968),_0xe3e526=Date[_0x5c259f(0x159)]()-_0xeaedd;return{'ok':!![],'data':{'service':_0x2f2842['service'],'command':_0x428a06[_0x5c259f(0x14a)],'target':targetPreview(_0x34df79),'result':_0x4175ee,'elapsed':_0xe3e526},'message':_0x5c259f(0x170)+_0x428a06[_0x5c259f(0x14a)]+_0x5c259f(0x149)+_0xe3e526+'ms'};}};}function a60_0x691d(){const _0x2d69e7=['bffId','userName','map','now','nickName','\x20\x20\x20\x20command:\x20','read','datatable','appCode','slice','appcode','params','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','192731lbPSvv','sql','\x20->\x20','source','flags','startsWith','\x20requires\x20target.sqlCode.','flatMap','type','\x20\x20SERVICE\x20TREE\x20TARGET','\x20requires\x20target.functionName.','dbtableConfig','required','Service\x20command\x20','length','validation','find','\x20\x20MAP\x20TO','userId','1070noaGrr','entries','env','rawFlags','app','username','const','scriptName','37GmtRAP','tableName','string','join','\x20\x20\x20\x20datatable:\x20','Run\x20service\x20command\x20','args','context.','\x22\x20in\x20service\x20command\x20','\x22.\x20','json','117775ULdmJS','cliName','3kwHGaB','The\x20manifest\x20marks\x20this\x20command\x20as\x20a\x20write.\x20It\x20may\x20change\x20business\x20data\x20or\x20service\x20state.','filter','bff','commands','sqlCode','loginName','53726qLnMXd','number','2201328TmiTzI','tenantCode','default','Use\x20`','name','7253523tOVbQS','955380lcIRIu','8GAqAyc','fullPath','`\x20to\x20inspect\x20the\x20manifest.','ctx.','Unknown\x20appRef\x20\x22','mapTo','fromEntries','bffCode','appRef','service','trim','target','\x20\x20\x20\x20kind:\x20\x20\x20\x20','remainingArgs','push','This\x20will\x20run\x20Service\x20Tree\x20command\x20\x22','Cannot\x20resolve\x20datatable\x20\x22','tree','risk','Commands:','appBindings','enum','\x20<command>\x20[flags]','envName','kind','\x20completed\x20in\x20','cliPath','code','2943755YbzGij','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','data','operator','command','description','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','nickname','\x20\x20\x20\x20datasetCode:\x20','datasetCode'];a60_0x691d=function(){return _0x2d69e7;};return a60_0x691d();}function buildDynamicConfirmationDescription(_0x25ab97){const _0x4d9699=a60_0x33b0,_0x1dc52b=_0x25ab97[_0x4d9699(0x151)]||_0x25ab97[_0x4d9699(0x14a)],_0x582cfd=_0x25ab97['risk']==='high-risk-write'?'The\x20manifest\x20marks\x20this\x20command\x20as\x20a\x20high-risk\x20write.\x20It\x20may\x20make\x20business\x20changes\x20that\x20are\x20hard\x20to\x20reverse.':_0x4d9699(0x121);return _0x4d9699(0x13f)+_0x1dc52b+_0x4d9699(0x11c)+_0x582cfd;}function dynamicCommandName(_0x4357e3){const _0x11952b=a60_0x33b0;return _0x4357e3[_0x11952b(0x131)]['slice'](0x1)['join']('\x20');}function a60_0x33b0(_0x32a074,_0x5bbea9){_0x32a074=_0x32a074-0x113;const _0x691ddf=a60_0x691d();let _0x33b03c=_0x691ddf[_0x32a074];return _0x33b03c;}function riskTag(_0x3d5554){const _0x45e679=a60_0x33b0;return _0x3d5554===_0x45e679(0x15c)?'':'\x20\x20['+_0x3d5554+']';}function flagToCommandFlag(_0x460168){const _0x278adf=a60_0x33b0;return{'name':_0x460168[_0x278adf(0x11f)],'type':_0x460168['type']===_0x278adf(0x11d)?_0x278adf(0x115):_0x460168[_0x278adf(0x16b)],'description':_0x460168[_0x278adf(0x151)]||_0x460168[_0x278adf(0x12d)],'required':_0x460168[_0x278adf(0x16f)],'default':isPrimitiveFlagDefault(_0x460168[_0x278adf(0x12b)])?_0x460168[_0x278adf(0x12b)]:undefined,'enum':_0x460168[_0x278adf(0x145)]};}async function compilePlan(_0x4b010f,_0x7dcb10){const _0x3cbce7=a60_0x33b0;return compileServiceTreeCommand(_0x4b010f,{'flags':_0x7dcb10[_0x3cbce7(0x179)],'args':_0x7dcb10[_0x3cbce7(0x119)],'context':await buildServiceContext(_0x4b010f,_0x7dcb10)});}async function buildServiceContext(_0x4d5eb1,_0x369df6){const _0x3de335=a60_0x33b0,_0x5cd120={'appCode':_0x369df6[_0x3de335(0x15e)],'env':_0x369df6[_0x3de335(0x147)],'envName':_0x369df6[_0x3de335(0x147)]};if(!usesRuntimeContext(_0x4d5eb1))return _0x5cd120;const _0x5ec1c5=await getLoginUserInfo(),_0x1185b4=pickFirst(_0x5ec1c5[_0x3de335(0x175)],_0x5ec1c5['id']);return{..._0x5cd120,'user':_0x5ec1c5,'userId':_0x1185b4,'id':_0x5ec1c5['id'],'username':pickFirst(_0x5ec1c5[_0x3de335(0x17b)],_0x5ec1c5[_0x3de335(0x157)],_0x5ec1c5[_0x3de335(0x126)]),'userName':_0x5ec1c5[_0x3de335(0x157)],'nickname':pickFirst(_0x5ec1c5[_0x3de335(0x153)],_0x5ec1c5[_0x3de335(0x15a)]),'nickName':_0x5ec1c5[_0x3de335(0x15a)],'tenantCode':_0x5ec1c5[_0x3de335(0x12a)],'employeeId':_0x5ec1c5['employeeId']};}function usesRuntimeContext(_0x55b9d3){const _0x21e858=a60_0x33b0;return _0x55b9d3[_0x21e858(0x135)]['some'](_0x32ac6e=>typeof _0x32ac6e[_0x21e858(0x166)]===_0x21e858(0x115)&&(_0x32ac6e[_0x21e858(0x166)][_0x21e858(0x168)](_0x21e858(0x11a))||_0x32ac6e['source'][_0x21e858(0x168)](_0x21e858(0x133))));}function pickFirst(..._0x5dfb64){const _0x4bffe3=a60_0x33b0;return _0x5dfb64[_0x4bffe3(0x173)](_0x23a34e=>_0x23a34e!==undefined&&_0x23a34e!==null);}async function executePlan(_0x25514e,_0x2385dd,_0x525826){const _0x59353f=a60_0x33b0;if(_0x25514e['kind']===_0x59353f(0x14e)){const _0x32c1c3=await resolveDatasetCode(_0x25514e,_0x2385dd,_0x525826);return executeData(_0x32c1c3,_0x25514e[_0x59353f(0x150)],_0x25514e[_0x59353f(0x161)]);}if(_0x25514e[_0x59353f(0x148)]===_0x59353f(0x164)){if(!_0x25514e[_0x59353f(0x125)])throw CliErrors[_0x59353f(0x172)](_0x59353f(0x170)+_0x2385dd[_0x59353f(0x14a)]+_0x59353f(0x169));return executeSdkSql(_0x25514e[_0x59353f(0x125)],normalizeScalarParams(_0x25514e['params']));}if(_0x25514e[_0x59353f(0x148)]===_0x59353f(0x123)){const _0x19a2e5=_0x25514e[_0x59353f(0x17d)]||_0x25514e['bffCode']||(_0x25514e[_0x59353f(0x156)]==null?'':String(_0x25514e[_0x59353f(0x156)]));if(!_0x19a2e5)throw CliErrors[_0x59353f(0x172)](_0x59353f(0x170)+_0x2385dd[_0x59353f(0x14a)]+_0x59353f(0x16d));return executeSdkBff(_0x19a2e5,_0x25514e[_0x59353f(0x161)]);}throw CliErrors[_0x59353f(0x172)]('Unsupported\x20service\x20target\x20kind:\x20'+_0x25514e[_0x59353f(0x148)]);}async function resolveDatasetCode(_0x2eca68,_0x22395f,_0x16f761){const _0x1f9899=a60_0x33b0;if(_0x2eca68['datasetCode'])return _0x2eca68['datasetCode'];if(!_0x2eca68[_0x1f9899(0x15d)])throw CliErrors[_0x1f9899(0x172)](_0x1f9899(0x170)+_0x22395f['cliPath']+_0x1f9899(0x162));const _0x6aff6f=await listDatasets(_0x16f761[_0x1f9899(0x15e)]),_0x454805=_0x6aff6f[_0x1f9899(0x173)](_0x2cabc6=>_0x2cabc6[_0x1f9899(0x16e)]?.[_0x1f9899(0x114)]===_0x2eca68[_0x1f9899(0x15d)]);if(!_0x454805?.[_0x1f9899(0x14b)])throw CliErrors[_0x1f9899(0x172)](_0x1f9899(0x140)+_0x2eca68[_0x1f9899(0x15d)]+_0x1f9899(0x152)+_0x16f761[_0x1f9899(0x15e)]+'.','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.');return _0x454805[_0x1f9899(0x14b)];}function applyAppBinding(_0x1ee1b7,_0x1f4c2e,_0x2e112f){const _0x63aab9=a60_0x33b0,_0x2a6414=_0x1f4c2e[_0x63aab9(0x13b)][_0x63aab9(0x138)];if(!_0x2a6414)return;const _0x38efda=_0x1ee1b7[_0x63aab9(0x144)][_0x2a6414];if(!_0x38efda)throw CliErrors['validation'](_0x63aab9(0x134)+_0x2a6414+_0x63aab9(0x11b)+_0x1f4c2e[_0x63aab9(0x14a)]+'.',_0x63aab9(0x14d));const _0x2f0747=_0x38efda['appcode']||_0x38efda[_0x63aab9(0x15e)];_0x2f0747&&!hasText(_0x2e112f[_0x63aab9(0x160)])&&(_0x2e112f['appcode']=_0x2f0747),_0x38efda[_0x63aab9(0x17a)]&&!hasText(_0x2e112f[_0x63aab9(0x17a)])&&!hasText(_0x2e112f[_0x63aab9(0x160)])&&(_0x2e112f[_0x63aab9(0x17a)]=_0x38efda[_0x63aab9(0x17a)]),_0x38efda[_0x63aab9(0x178)]&&!hasText(_0x2e112f[_0x63aab9(0x178)])&&(_0x2e112f[_0x63aab9(0x178)]=_0x38efda[_0x63aab9(0x178)]);}function renderDynamicCommandHelp(_0x65d901){const _0xbfb184=a60_0x33b0,_0x512bab=[_0xbfb184(0x16c),_0xbfb184(0x13c)+_0x65d901[_0xbfb184(0x13b)][_0xbfb184(0x148)],_0xbfb184(0x15b)+_0x65d901[_0xbfb184(0x13b)]['command']];if(_0x65d901[_0xbfb184(0x13b)]['datasetCode'])_0x512bab[_0xbfb184(0x13e)](_0xbfb184(0x154)+_0x65d901[_0xbfb184(0x13b)][_0xbfb184(0x155)]);if(_0x65d901[_0xbfb184(0x13b)]['datatable'])_0x512bab['push'](_0xbfb184(0x117)+_0x65d901[_0xbfb184(0x13b)][_0xbfb184(0x15d)]);if(_0x65d901[_0xbfb184(0x13b)][_0xbfb184(0x125)])_0x512bab['push']('\x20\x20\x20\x20sqlCode:\x20'+_0x65d901['target'][_0xbfb184(0x125)]);if(_0x65d901[_0xbfb184(0x13b)][_0xbfb184(0x17d)])_0x512bab[_0xbfb184(0x13e)]('\x20\x20\x20\x20functionName:\x20'+_0x65d901[_0xbfb184(0x13b)][_0xbfb184(0x17d)]);if(_0x65d901[_0xbfb184(0x135)][_0xbfb184(0x171)]>0x0){_0x512bab[_0xbfb184(0x13e)]('',_0xbfb184(0x174));for(const _0x3f15c6 of _0x65d901[_0xbfb184(0x135)]){_0x512bab['push']('\x20\x20\x20\x20'+(_0x3f15c6[_0xbfb184(0x166)]||_0xbfb184(0x17c))+_0xbfb184(0x165)+_0x3f15c6[_0xbfb184(0x13b)]+(_0x3f15c6['operator']?'.'+_0x3f15c6[_0xbfb184(0x14f)]:''));}}return _0x512bab[_0xbfb184(0x116)]('\x0a');}function targetPreview(_0x59cf52){const _0x222ce2=a60_0x33b0;return{'kind':_0x59cf52[_0x222ce2(0x148)],'command':_0x59cf52[_0x222ce2(0x150)],'appRef':_0x59cf52['appRef'],'datasetCode':_0x59cf52[_0x222ce2(0x155)],'datatable':_0x59cf52[_0x222ce2(0x15d)],'sqlCode':_0x59cf52[_0x222ce2(0x125)],'bffCode':_0x59cf52[_0x222ce2(0x137)],'bffId':_0x59cf52[_0x222ce2(0x156)],'functionName':_0x59cf52[_0x222ce2(0x17d)]};}function normalizeScalarParams(_0x132152){const _0x3c1a97=a60_0x33b0;return Object[_0x3c1a97(0x136)](Object[_0x3c1a97(0x177)](_0x132152)[_0x3c1a97(0x122)](([,_0x2623e6])=>typeof _0x2623e6===_0x3c1a97(0x115)||typeof _0x2623e6===_0x3c1a97(0x128)));}function hasText(_0x1ce58c){const _0x30a813=a60_0x33b0;return typeof _0x1ce58c==='string'&&_0x1ce58c[_0x30a813(0x13a)]()[_0x30a813(0x171)]>0x0;}function isPrimitiveFlagDefault(_0x330319){const _0x51ea11=a60_0x33b0;return _0x330319===undefined||typeof _0x330319===_0x51ea11(0x115)||typeof _0x330319===_0x51ea11(0x128)||typeof _0x330319==='boolean';}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x437317,_0x4c8187){const _0x2c5eec=a61_0x4b75,_0x13bd89=_0x437317();while(!![]){try{const _0xb8e3ec=-parseInt(_0x2c5eec(0x16e))/0x1*(-parseInt(_0x2c5eec(0x189))/0x2)+parseInt(_0x2c5eec(0x175))/0x3*(-parseInt(_0x2c5eec(0x188))/0x4)+-parseInt(_0x2c5eec(0x186))/0x5*(-parseInt(_0x2c5eec(0x179))/0x6)+-parseInt(_0x2c5eec(0x168))/0x7+-parseInt(_0x2c5eec(0x166))/0x8*(-parseInt(_0x2c5eec(0x18d))/0x9)+parseInt(_0x2c5eec(0x174))/0xa+-parseInt(_0x2c5eec(0x180))/0xb*(-parseInt(_0x2c5eec(0x173))/0xc);if(_0xb8e3ec===_0x4c8187)break;else _0x13bd89['push'](_0x13bd89['shift']());}catch(_0x29f452){_0x13bd89['push'](_0x13bd89['shift']());}}}(a61_0x43ed,0x9a3e7));export function adaptServiceTreeManifestForLegacyFramework(_0x598a7d){const _0x592b62=a61_0x4b75,_0x52c1f5=cloneJsonValue(_0x598a7d),_0x1adda2=[];if(!isObjectRecord(_0x52c1f5))return{'manifest':_0x52c1f5,'errors':_0x1adda2};return Array[_0x592b62(0x18c)](_0x52c1f5[_0x592b62(0x18e)])&&_0x52c1f5[_0x592b62(0x18e)][_0x592b62(0x17a)]((_0x28a5b5,_0x253f4d)=>{const _0x4e36ae=_0x592b62;if(!isObjectRecord(_0x28a5b5))return;adaptBffTarget(_0x28a5b5['target'],_0x4e36ae(0x178)+_0x253f4d+_0x4e36ae(0x17f),_0x1adda2);}),adaptResources(_0x52c1f5[_0x592b62(0x16a)],_0x592b62(0x172),_0x1adda2),{'manifest':_0x52c1f5,'errors':_0x1adda2};}export function toPublicServiceTreeTarget(_0x612904){const _0x4d3673=a61_0x4b75,{scriptName:_0x498ded,..._0x2172ce}=_0x612904;return typeof _0x498ded===_0x4d3673(0x17b)&&_0x498ded[_0x4d3673(0x185)]()&&(_0x2172ce[_0x4d3673(0x18b)]=_0x498ded),_0x2172ce;}export function toPublicNormalizedServiceTree(_0x4d7ba3){const _0x3b7999=a61_0x4b75;return{..._0x4d7ba3,'commands':_0x4d7ba3[_0x3b7999(0x18e)][_0x3b7999(0x16d)](_0x4ac3f2=>({..._0x4ac3f2,'target':toPublicServiceTreeTarget(_0x4ac3f2[_0x3b7999(0x16f)])}))};}function adaptResources(_0x16e15c,_0x21751e,_0x1649b2){const _0x4e61fe=a61_0x4b75;if(!isObjectRecord(_0x16e15c))return;for(const [_0x409fb5,_0x153075]of Object['entries'](_0x16e15c)){if(!isObjectRecord(_0x153075))continue;const _0x250dbc=_0x21751e+'.'+_0x409fb5;if(isObjectRecord(_0x153075[_0x4e61fe(0x17d)]))for(const [_0x33d0f8,_0x4a740f]of Object[_0x4e61fe(0x182)](_0x153075[_0x4e61fe(0x17d)])){if(!isObjectRecord(_0x4a740f))continue;const _0x173d9e=_0x250dbc+_0x4e61fe(0x183)+_0x33d0f8,_0xe27dbd=isObjectRecord(_0x4a740f[_0x4e61fe(0x16f)])&&_0x4a740f[_0x4e61fe(0x16f)]['kind']===_0x4e61fe(0x167);adaptBffTarget(_0x4a740f['target'],_0x173d9e+_0x4e61fe(0x16c),_0x1649b2),(_0xe27dbd||isBffAction(_0x4a740f))&&adaptFunctionNameField(_0x4a740f,_0x173d9e,_0x1649b2);}adaptResources(_0x153075[_0x4e61fe(0x16a)],_0x250dbc+_0x4e61fe(0x184),_0x1649b2);}}function a61_0x4b75(_0x3daa74,_0x50b2ec){_0x3daa74=_0x3daa74-0x165;const _0x43edef=a61_0x43ed();let _0x4b752e=_0x43edef[_0x3daa74];return _0x4b752e;}function adaptBffTarget(_0x58c6a2,_0x585556,_0x141eef){const _0x53fba2=a61_0x4b75;if(!isObjectRecord(_0x58c6a2)||_0x58c6a2[_0x53fba2(0x169)]!==_0x53fba2(0x167))return;adaptFunctionNameField(_0x58c6a2,_0x585556,_0x141eef);}function adaptFunctionNameField(_0x3440d1,_0x3e8039,_0x123b91){const _0x126ef7=a61_0x4b75;Object[_0x126ef7(0x17e)]['hasOwnProperty']['call'](_0x3440d1,_0x126ef7(0x165))&&_0x123b91[_0x126ef7(0x17c)]({'level':_0x126ef7(0x176),'path':_0x3e8039+_0x126ef7(0x171),'message':_0x126ef7(0x187)});if(Object[_0x126ef7(0x17e)][_0x126ef7(0x18a)][_0x126ef7(0x177)](_0x3440d1,_0x126ef7(0x18b))){if(typeof _0x3440d1[_0x126ef7(0x18b)]!==_0x126ef7(0x17b)||!_0x3440d1[_0x126ef7(0x18b)][_0x126ef7(0x185)]()){_0x123b91[_0x126ef7(0x17c)]({'level':_0x126ef7(0x176),'path':_0x3e8039+'.functionName','message':_0x126ef7(0x16b)}),delete _0x3440d1[_0x126ef7(0x18b)];return;}_0x3440d1[_0x126ef7(0x165)]=_0x3440d1[_0x126ef7(0x18b)],delete _0x3440d1[_0x126ef7(0x18b)];}}function a61_0x43ed(){const _0x435b90=['3qivbNG','error','call','$.commands[','37362MZXUFY','forEach','string','push','actions','prototype','].target','4565tORFfe','bff.exec','entries','.actions.','.resources','trim','265cBHftT','Use\x20functionName;\x20scriptName\x20is\x20not\x20part\x20of\x20the\x20runtime\x20Service\x20Tree\x20contract.','4543160joBCYm','190654KWDTDU','hasOwnProperty','functionName','isArray','43551dMxwZz','commands','scriptName','184CUzARc','bff','8346338RirAsh','kind','resources','functionName\x20must\x20be\x20a\x20non-empty\x20string.','.target','map','13gNBbRL','target','fromEntries','.scriptName','$.resources','32532HNVpkm','1542630WiyRwY'];a61_0x43ed=function(){return _0x435b90;};return a61_0x43ed();}function isBffAction(_0x1e72d1){const _0x231d62=a61_0x4b75;return _0x1e72d1[_0x231d62(0x169)]===_0x231d62(0x167)||_0x1e72d1['action']===_0x231d62(0x181)||_0x1e72d1[_0x231d62(0x16f)]===_0x231d62(0x181);}function cloneJsonValue(_0xc421b2){const _0x23e53f=a61_0x4b75;if(Array[_0x23e53f(0x18c)](_0xc421b2))return _0xc421b2[_0x23e53f(0x16d)](_0x960075=>cloneJsonValue(_0x960075));if(isObjectRecord(_0xc421b2))return Object[_0x23e53f(0x170)](Object['entries'](_0xc421b2)[_0x23e53f(0x16d)](([_0x353d5d,_0xb697ce])=>[_0x353d5d,cloneJsonValue(_0xb697ce)]));return _0xc421b2;}function isObjectRecord(_0x28dde9){const _0x3b1540=a61_0x4b75;return Boolean(_0x28dde9)&&typeof _0x28dde9==='object'&&!Array[_0x3b1540(0x18c)](_0x28dde9);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a62_0x2556(_0x55d576,_0x2abe12){_0x55d576=_0x55d576-0x169;const _0x803913=a62_0x8039();let _0x2556ac=_0x803913[_0x55d576];return _0x2556ac;}const a62_0x257f4a=a62_0x2556;(function(_0x47261e,_0x1b3911){const _0x495fca=a62_0x2556,_0x5def8e=_0x47261e();while(!![]){try{const _0x2bf9bd=parseInt(_0x495fca(0x19f))/0x1*(parseInt(_0x495fca(0x1af))/0x2)+parseInt(_0x495fca(0x185))/0x3+-parseInt(_0x495fca(0x183))/0x4+parseInt(_0x495fca(0x1b0))/0x5+parseInt(_0x495fca(0x1a9))/0x6*(-parseInt(_0x495fca(0x17e))/0x7)+-parseInt(_0x495fca(0x19c))/0x8*(-parseInt(_0x495fca(0x18d))/0x9)+-parseInt(_0x495fca(0x186))/0xa*(parseInt(_0x495fca(0x16f))/0xb);if(_0x2bf9bd===_0x1b3911)break;else _0x5def8e['push'](_0x5def8e['shift']());}catch(_0x54cff0){_0x5def8e['push'](_0x5def8e['shift']());}}}(a62_0x8039,0x99004));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':'file','type':a62_0x257f4a(0x184),'required':!![],'description':a62_0x257f4a(0x199)},SERVICE_FLAG={'name':a62_0x257f4a(0x1a7),'type':a62_0x257f4a(0x184),'required':!![],'description':a62_0x257f4a(0x1b1),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':'lower\x20kebab-case\x20service\x20code'}};function summarizeService(_0x30dd95){const _0x5deb0d=a62_0x257f4a;return{'serviceCode':_0x30dd95[_0x5deb0d(0x1ae)],'name':_0x30dd95[_0x5deb0d(0x1a3)][_0x5deb0d(0x1a7)][_0x5deb0d(0x192)],'version':_0x30dd95[_0x5deb0d(0x1a1)],'importedAt':_0x30dd95[_0x5deb0d(0x188)],'source':_0x30dd95[_0x5deb0d(0x1ad)],'commandCount':_0x30dd95[_0x5deb0d(0x1a3)][_0x5deb0d(0x1ab)][_0x5deb0d(0x172)],'commands':_0x30dd95[_0x5deb0d(0x1a3)][_0x5deb0d(0x1ab)][_0x5deb0d(0x17c)](_0x2a4484=>({'path':_0x2a4484[_0x5deb0d(0x174)],'description':_0x2a4484['description'],'risk':_0x2a4484[_0x5deb0d(0x182)],'target':toPublicServiceTreeTarget(_0x2a4484[_0x5deb0d(0x181)]),'flags':_0x2a4484[_0x5deb0d(0x18f)][_0x5deb0d(0x17c)](_0x1fe0ef=>({'name':_0x1fe0ef[_0x5deb0d(0x192)],'cliName':_0x1fe0ef[_0x5deb0d(0x1a0)],'type':_0x1fe0ef[_0x5deb0d(0x18e)],'required':_0x1fe0ef['required']===!![]}))}))};}function summarizeLoadedManifest(_0x1fe2c5){const _0x33e253=a62_0x257f4a;return{'service':_0x1fe2c5[_0x33e253(0x1a3)]?.[_0x33e253(0x1a7)],'version':_0x1fe2c5[_0x33e253(0x1a3)]?.['version'],'commandCount':_0x1fe2c5[_0x33e253(0x1a3)]?.['commands'][_0x33e253(0x172)]??0x0,'commands':_0x1fe2c5[_0x33e253(0x1a3)]?.[_0x33e253(0x1ab)][_0x33e253(0x17c)](_0x568274=>({'path':_0x568274[_0x33e253(0x174)],'risk':_0x568274[_0x33e253(0x182)],'target':toPublicServiceTreeTarget(_0x568274[_0x33e253(0x181)])}))??[],'registryIndex':_0x1fe2c5[_0x33e253(0x1ac)],'registryServiceCode':_0x1fe2c5[_0x33e253(0x1a5)],'errors':_0x1fe2c5[_0x33e253(0x195)][_0x33e253(0x193)],'warnings':_0x1fe2c5[_0x33e253(0x195)][_0x33e253(0x16d)]};}export const serviceDefinitions=[{'service':a62_0x257f4a(0x1a7),'command':a62_0x257f4a(0x1a4),'description':a62_0x257f4a(0x1b2),'risk':a62_0x257f4a(0x18a),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x146ba8){const _0x12fc8c=a62_0x257f4a,_0x140804=loadServiceManifestFromFile(_0x146ba8['str']('file'));if(!_0x140804[_0x12fc8c(0x195)]['ok'])return{'ok':![],'data':{'file':_0x140804[_0x12fc8c(0x179)],'hash':_0x140804['hash'],'kind':_0x140804['kind'],'serviceCount':_0x140804['manifests']['length'],'services':_0x140804[_0x12fc8c(0x16c)][_0x12fc8c(0x17c)](summarizeLoadedManifest),'errors':_0x140804[_0x12fc8c(0x195)][_0x12fc8c(0x193)],'warnings':_0x140804[_0x12fc8c(0x195)][_0x12fc8c(0x16d)]},'message':formatValidationFailure(_0x140804[_0x12fc8c(0x195)])};if(_0x140804['kind']===_0x12fc8c(0x189)||_0x140804[_0x12fc8c(0x16c)][_0x12fc8c(0x172)]!==0x1)return{'ok':!![],'data':{'file':_0x140804[_0x12fc8c(0x179)],'hash':_0x140804[_0x12fc8c(0x180)],'kind':_0x140804[_0x12fc8c(0x197)],'serviceCount':_0x140804[_0x12fc8c(0x16c)][_0x12fc8c(0x172)],'commandCount':_0x140804[_0x12fc8c(0x16c)]['reduce']((_0x4fd7b7,_0x4e30d8)=>_0x4fd7b7+(_0x4e30d8['normalizedManifest']?.['commands'][_0x12fc8c(0x172)]??0x0),0x0),'services':_0x140804[_0x12fc8c(0x16c)][_0x12fc8c(0x17c)](summarizeLoadedManifest),'warnings':_0x140804[_0x12fc8c(0x195)]['warnings']},'message':'Service\x20registry\x20validation\x20passed.'};return{'ok':!![],'data':{'file':_0x140804[_0x12fc8c(0x179)],'hash':_0x140804[_0x12fc8c(0x180)],'kind':_0x140804[_0x12fc8c(0x197)],'service':_0x140804[_0x12fc8c(0x1a3)]?.[_0x12fc8c(0x1a7)],'version':_0x140804[_0x12fc8c(0x1a3)]?.['version'],'commandCount':_0x140804[_0x12fc8c(0x1a3)]?.[_0x12fc8c(0x1ab)][_0x12fc8c(0x172)]??0x0,'commands':_0x140804[_0x12fc8c(0x1a3)]?.[_0x12fc8c(0x1ab)][_0x12fc8c(0x17c)](_0x515a9b=>({'path':_0x515a9b[_0x12fc8c(0x174)],'risk':_0x515a9b[_0x12fc8c(0x182)],'target':toPublicServiceTreeTarget(_0x515a9b[_0x12fc8c(0x181)])})),'warnings':_0x140804[_0x12fc8c(0x195)][_0x12fc8c(0x16d)]},'message':_0x12fc8c(0x19e)};}},{'service':a62_0x257f4a(0x1a7),'command':a62_0x257f4a(0x1a6),'description':'Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','risk':a62_0x257f4a(0x1a8),'confirmationDescription':a62_0x257f4a(0x194),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x50ee44){const _0x1c6ccb=a62_0x257f4a,_0x3a9a7e=loadServiceManifestFromFile(_0x50ee44[_0x1c6ccb(0x17b)]('file'));return{'method':_0x1c6ccb(0x17d),'url':getServiceRegistryPath(),'body':{'file':_0x3a9a7e[_0x1c6ccb(0x179)],'hash':_0x3a9a7e[_0x1c6ccb(0x180)],'kind':_0x3a9a7e[_0x1c6ccb(0x197)],'ok':_0x3a9a7e['report']['ok'],'service':_0x3a9a7e[_0x1c6ccb(0x1a3)]?.[_0x1c6ccb(0x1a7)],'version':_0x3a9a7e[_0x1c6ccb(0x1a3)]?.[_0x1c6ccb(0x1a1)],'serviceCount':_0x3a9a7e['manifests'][_0x1c6ccb(0x172)],'services':_0x3a9a7e[_0x1c6ccb(0x16c)][_0x1c6ccb(0x17c)](_0x312ffa=>({'service':_0x312ffa[_0x1c6ccb(0x1a3)]?.[_0x1c6ccb(0x1a7)],'version':_0x312ffa[_0x1c6ccb(0x1a3)]?.[_0x1c6ccb(0x1a1)],'commandCount':_0x312ffa[_0x1c6ccb(0x1a3)]?.['commands']['length']??0x0,'errors':_0x312ffa[_0x1c6ccb(0x195)][_0x1c6ccb(0x193)]})),'errors':_0x3a9a7e[_0x1c6ccb(0x195)][_0x1c6ccb(0x193)],'commandCount':_0x3a9a7e['normalizedManifest']?.[_0x1c6ccb(0x1ab)][_0x1c6ccb(0x172)]??0x0},'description':_0x1c6ccb(0x18b)};},async 'execute'(_0x36d34e){const _0x4106be=a62_0x257f4a,_0x42e17b=importServiceManifest(_0x36d34e[_0x4106be(0x17b)]('file'));if(_0x42e17b[_0x4106be(0x177)][_0x4106be(0x172)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x42e17b[_0x4106be(0x173)],'imported':_0x42e17b[_0x4106be(0x1aa)],'updated':_0x42e17b[_0x4106be(0x19b)],'serviceCount':_0x42e17b['serviceCount'],'services':_0x42e17b[_0x4106be(0x177)][_0x4106be(0x17c)](summarizeService)},'message':_0x4106be(0x18c)+_0x42e17b[_0x4106be(0x1aa)]+_0x4106be(0x17a)+_0x42e17b[_0x4106be(0x19b)]+_0x4106be(0x190)};return{'ok':!![],'data':{'registryPath':_0x42e17b['registryPath'],'replaced':_0x42e17b[_0x4106be(0x171)],'imported':_0x42e17b[_0x4106be(0x1aa)],'updated':_0x42e17b[_0x4106be(0x19b)],'serviceCount':_0x42e17b[_0x4106be(0x175)],'service':summarizeService(_0x42e17b[_0x4106be(0x169)])},'message':(_0x42e17b[_0x4106be(0x171)]?_0x4106be(0x187):_0x4106be(0x19a))+'\x20service\x20'+_0x42e17b[_0x4106be(0x169)][_0x4106be(0x1ae)]+'.'};}},{'service':a62_0x257f4a(0x1a7),'command':a62_0x257f4a(0x196),'description':'Export\x20the\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','risk':a62_0x257f4a(0x1a8),'confirmationDescription':a62_0x257f4a(0x170),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x32580f){const _0x2c7aa6=a62_0x257f4a,_0x52ce50=getLocalServiceEntry(_0x32580f[_0x2c7aa6(0x17b)](_0x2c7aa6(0x1a7)));return{'method':'WRITE','url':_0x32580f['str'](_0x2c7aa6(0x16b)),'body':{'service':_0x32580f[_0x2c7aa6(0x17b)](_0x2c7aa6(0x1a7)),'found':Boolean(_0x52ce50),'version':_0x52ce50?.[_0x2c7aa6(0x1a1)],'source':_0x52ce50?.['source']},'description':_0x2c7aa6(0x1a2)};},async 'execute'(_0x497be){const _0x3959d8=a62_0x257f4a,_0x1d0b7c=exportServiceManifest(_0x497be[_0x3959d8(0x17b)](_0x3959d8(0x1a7)),_0x497be['str'](_0x3959d8(0x16b)));return{'ok':!![],'data':{'registryPath':_0x1d0b7c['registryPath'],'file':_0x1d0b7c[_0x3959d8(0x179)],'service':summarizeService(_0x1d0b7c[_0x3959d8(0x169)])},'message':_0x3959d8(0x16a)+_0x1d0b7c[_0x3959d8(0x169)][_0x3959d8(0x1ae)]+'.'};}},{'service':a62_0x257f4a(0x1a7),'command':'list','description':'List\x20locally\x20imported\x20Service\x20Tree\x20manifests','risk':a62_0x257f4a(0x18a),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x537791=a62_0x257f4a,_0x1fd6e0=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x1fd6e0[_0x537791(0x172)],'services':_0x1fd6e0[_0x537791(0x17c)](summarizeService)}};}},{'service':a62_0x257f4a(0x1a7),'command':a62_0x257f4a(0x178),'description':a62_0x257f4a(0x198),'risk':a62_0x257f4a(0x1a8),'confirmationDescription':a62_0x257f4a(0x17f),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x54002e){const _0x1fc972=a62_0x257f4a,_0x2f5c95=getLocalServiceEntry(_0x54002e[_0x1fc972(0x17b)](_0x1fc972(0x1a7)));return{'method':_0x1fc972(0x17d),'url':getServiceRegistryPath(),'body':{'service':_0x54002e[_0x1fc972(0x17b)](_0x1fc972(0x1a7)),'found':Boolean(_0x2f5c95),'version':_0x2f5c95?.[_0x1fc972(0x1a1)],'source':_0x2f5c95?.[_0x1fc972(0x1ad)]},'description':_0x1fc972(0x19d)};},async 'execute'(_0x1aed8d){const _0x590d2d=a62_0x257f4a,_0x2c300c=removeServiceManifest(_0x1aed8d[_0x590d2d(0x17b)](_0x590d2d(0x1a7)));return{'ok':!![],'data':{'registryPath':_0x2c300c[_0x590d2d(0x173)],'serviceCount':_0x2c300c[_0x590d2d(0x175)],'service':summarizeService(_0x2c300c[_0x590d2d(0x169)])},'message':'Removed\x20service\x20'+_0x2c300c[_0x590d2d(0x169)][_0x590d2d(0x1ae)]+'.'};}},{'service':a62_0x257f4a(0x1a7),'command':'detail','description':a62_0x257f4a(0x191),'risk':a62_0x257f4a(0x18a),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x5a3a45){const _0x1cf69d=a62_0x257f4a,_0x3aad68=getLocalServiceEntry(_0x5a3a45[_0x1cf69d(0x17b)](_0x1cf69d(0x1a7)));if(!_0x3aad68)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x5a3a45[_0x1cf69d(0x17b)](_0x1cf69d(0x1a7))},'message':_0x1cf69d(0x176)+_0x5a3a45['str'](_0x1cf69d(0x1a7))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x3aad68),'manifest':_0x3aad68[_0x1cf69d(0x16e)],'normalizedManifest':toPublicNormalizedServiceTree(_0x3aad68[_0x1cf69d(0x1a3)])}};}}];function a62_0x8039(){const _0x25884d=['Removes\x20the\x20given\x20service\x20manifest\x20from\x20the\x20local\x20Service\x20Tree\x20registry.\x20Dynamic\x20commands\x20from\x20that\x20manifest\x20will\x20no\x20longer\x20be\x20available.','hash','target','risk','1955068wjtZPX','string','3320877wRYbjU','18476870FymlLd','Updated','importedAt','registry','read','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','Imported\x20','578727KVPqmv','type','flags','\x20service(s).','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','name','errors','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.','report','export','kind','Remove\x20a\x20Service\x20Tree\x20manifest\x20from\x20the\x20local\x20runtime\x20registry','Service\x20Tree\x20manifest\x20file\x20path','Imported','updated','152RrVDnP','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','Service\x20manifest\x20validation\x20passed.','6TEMFUO','cliName','version','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','normalizedManifest','validate','registryServiceCode','import','service','write','12yVbwWp','imported','commands','registryIndex','source','serviceCode','226454DwQFgr','3401960BKCwpu','Local\x20service\x20code,\x20for\x20example\x20crm','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','entry','Exported\x20service\x20','file','manifests','warnings','manifest','11KsxHJm','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.','replaced','length','registryPath','cliPath','serviceCount','Local\x20service\x20not\x20found:\x20','entries','remove','filePath','\x20service(s),\x20updated\x20','str','map','WRITE','2538634KidOkJ'];a62_0x8039=function(){return _0x25884d;};return a62_0x8039();}
|
|
1
|
+
const a62_0x39c7eb=a62_0x3a63;(function(_0x5b721f,_0x54869a){const _0x516e5a=a62_0x3a63,_0xb0b177=_0x5b721f();while(!![]){try{const _0x14267f=parseInt(_0x516e5a(0xb3))/0x1*(-parseInt(_0x516e5a(0xb0))/0x2)+-parseInt(_0x516e5a(0x93))/0x3+-parseInt(_0x516e5a(0xb2))/0x4*(-parseInt(_0x516e5a(0xb4))/0x5)+-parseInt(_0x516e5a(0x9c))/0x6+parseInt(_0x516e5a(0x89))/0x7+-parseInt(_0x516e5a(0x9f))/0x8*(parseInt(_0x516e5a(0x8e))/0x9)+-parseInt(_0x516e5a(0xd1))/0xa*(-parseInt(_0x516e5a(0xc4))/0xb);if(_0x14267f===_0x54869a)break;else _0xb0b177['push'](_0xb0b177['shift']());}catch(_0x4039a1){_0xb0b177['push'](_0xb0b177['shift']());}}}(a62_0x125f,0x4f16e));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':'file','type':a62_0x39c7eb(0x95),'required':!![],'description':a62_0x39c7eb(0xa6)},SERVICE_FLAG={'name':a62_0x39c7eb(0xa0),'type':a62_0x39c7eb(0x95),'required':!![],'description':a62_0x39c7eb(0xab),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a62_0x39c7eb(0xc8)}};function a62_0x125f(){const _0x1ea9a5=['Imported\x20','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','source','errors','map','10tHZXMi','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','hash','entry','detail','Removes\x20the\x20given\x20service\x20manifest\x20from\x20the\x20local\x20Service\x20Tree\x20registry.\x20Dynamic\x20commands\x20from\x20that\x20manifest\x20will\x20no\x20longer\x20be\x20available.','3295222xFpBmI','length','\x20service(s).','importedAt','required','9kGJjPp','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','str','kind','remove','1505610oBsRba','Exported\x20service\x20','string','serviceCount','registry','registryPath','warnings','manifests','import','1816824SxlbTe','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.','reduce','4713608bpRZJI','service','manifest','Service\x20manifest\x20validation\x20passed.','Export\x20the\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','read','target','Service\x20Tree\x20manifest\x20file\x20path','report','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','\x20service(s),\x20updated\x20','Remove\x20a\x20Service\x20Tree\x20manifest\x20from\x20the\x20local\x20runtime\x20registry','Local\x20service\x20code,\x20for\x20example\x20crm','flags','risk','Local\x20service\x20not\x20found:\x20','filePath','50pTowPA','imported','4bfgTTI','4741NBNduE','2232385vOiXYX','updated','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.','write','commands','registryIndex','normalizedManifest','serviceCode','WRITE','Removed\x20service\x20','replaced','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','Service\x20registry\x20validation\x20passed.','cliPath','type','export','10110397xGVgxn','entries','description','file','lower\x20kebab-case\x20service\x20code','\x20service\x20','registryServiceCode','version'];a62_0x125f=function(){return _0x1ea9a5;};return a62_0x125f();}function a62_0x3a63(_0x455ae8,_0x58d661){_0x455ae8=_0x455ae8-0x89;const _0x125fed=a62_0x125f();let _0x3a638c=_0x125fed[_0x455ae8];return _0x3a638c;}function summarizeService(_0xd29136){const _0x447a73=a62_0x39c7eb;return{'serviceCode':_0xd29136[_0x447a73(0xbb)],'name':_0xd29136[_0x447a73(0xba)]['service']['name'],'version':_0xd29136['version'],'importedAt':_0xd29136[_0x447a73(0x8c)],'source':_0xd29136[_0x447a73(0xce)],'commandCount':_0xd29136[_0x447a73(0xba)][_0x447a73(0xb8)][_0x447a73(0x8a)],'commands':_0xd29136[_0x447a73(0xba)][_0x447a73(0xb8)]['map'](_0xf56d69=>({'path':_0xf56d69['cliPath'],'description':_0xf56d69[_0x447a73(0xc6)],'risk':_0xf56d69[_0x447a73(0xad)],'target':toPublicServiceTreeTarget(_0xf56d69['target']),'flags':_0xf56d69[_0x447a73(0xac)][_0x447a73(0xd0)](_0x163243=>({'name':_0x163243['name'],'cliName':_0x163243['cliName'],'type':_0x163243[_0x447a73(0xc2)],'required':_0x163243[_0x447a73(0x8d)]===!![]}))}))};}function summarizeLoadedManifest(_0x206653){const _0x18da10=a62_0x39c7eb;return{'service':_0x206653[_0x18da10(0xba)]?.[_0x18da10(0xa0)],'version':_0x206653['normalizedManifest']?.[_0x18da10(0xcb)],'commandCount':_0x206653[_0x18da10(0xba)]?.['commands'][_0x18da10(0x8a)]??0x0,'commands':_0x206653['normalizedManifest']?.[_0x18da10(0xb8)][_0x18da10(0xd0)](_0x213489=>({'path':_0x213489[_0x18da10(0xc1)],'risk':_0x213489['risk'],'target':toPublicServiceTreeTarget(_0x213489[_0x18da10(0xa5)])}))??[],'registryIndex':_0x206653[_0x18da10(0xb9)],'registryServiceCode':_0x206653[_0x18da10(0xca)],'errors':_0x206653[_0x18da10(0xa7)]['errors'],'warnings':_0x206653[_0x18da10(0xa7)]['warnings']};}export const serviceDefinitions=[{'service':a62_0x39c7eb(0xa0),'command':'validate','description':a62_0x39c7eb(0xa8),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x2a9f5d){const _0x1e41b3=a62_0x39c7eb,_0x1e3e50=loadServiceManifestFromFile(_0x2a9f5d[_0x1e41b3(0x90)](_0x1e41b3(0xc7)));if(!_0x1e3e50['report']['ok'])return{'ok':![],'data':{'file':_0x1e3e50[_0x1e41b3(0xaf)],'hash':_0x1e3e50['hash'],'kind':_0x1e3e50['kind'],'serviceCount':_0x1e3e50['manifests'][_0x1e41b3(0x8a)],'services':_0x1e3e50[_0x1e41b3(0x9a)]['map'](summarizeLoadedManifest),'errors':_0x1e3e50[_0x1e41b3(0xa7)][_0x1e41b3(0xcf)],'warnings':_0x1e3e50[_0x1e41b3(0xa7)][_0x1e41b3(0x99)]},'message':formatValidationFailure(_0x1e3e50[_0x1e41b3(0xa7)])};if(_0x1e3e50[_0x1e41b3(0x91)]===_0x1e41b3(0x97)||_0x1e3e50['manifests'][_0x1e41b3(0x8a)]!==0x1)return{'ok':!![],'data':{'file':_0x1e3e50[_0x1e41b3(0xaf)],'hash':_0x1e3e50[_0x1e41b3(0xd3)],'kind':_0x1e3e50['kind'],'serviceCount':_0x1e3e50[_0x1e41b3(0x9a)][_0x1e41b3(0x8a)],'commandCount':_0x1e3e50['manifests'][_0x1e41b3(0x9e)]((_0x454cad,_0x4aea9a)=>_0x454cad+(_0x4aea9a[_0x1e41b3(0xba)]?.[_0x1e41b3(0xb8)][_0x1e41b3(0x8a)]??0x0),0x0),'services':_0x1e3e50[_0x1e41b3(0x9a)][_0x1e41b3(0xd0)](summarizeLoadedManifest),'warnings':_0x1e3e50[_0x1e41b3(0xa7)][_0x1e41b3(0x99)]},'message':_0x1e41b3(0xc0)};return{'ok':!![],'data':{'file':_0x1e3e50[_0x1e41b3(0xaf)],'hash':_0x1e3e50['hash'],'kind':_0x1e3e50['kind'],'service':_0x1e3e50[_0x1e41b3(0xba)]?.[_0x1e41b3(0xa0)],'version':_0x1e3e50['normalizedManifest']?.[_0x1e41b3(0xcb)],'commandCount':_0x1e3e50[_0x1e41b3(0xba)]?.[_0x1e41b3(0xb8)][_0x1e41b3(0x8a)]??0x0,'commands':_0x1e3e50[_0x1e41b3(0xba)]?.[_0x1e41b3(0xb8)][_0x1e41b3(0xd0)](_0x3317e4=>({'path':_0x3317e4['cliPath'],'risk':_0x3317e4['risk'],'target':toPublicServiceTreeTarget(_0x3317e4[_0x1e41b3(0xa5)])})),'warnings':_0x1e3e50[_0x1e41b3(0xa7)][_0x1e41b3(0x99)]},'message':_0x1e41b3(0xa2)};}},{'service':a62_0x39c7eb(0xa0),'command':a62_0x39c7eb(0x9b),'description':'Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','risk':a62_0x39c7eb(0xb7),'confirmationDescription':a62_0x39c7eb(0xb6),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x506cf0){const _0x299a96=a62_0x39c7eb,_0x2639d8=loadServiceManifestFromFile(_0x506cf0['str']('file'));return{'method':'WRITE','url':getServiceRegistryPath(),'body':{'file':_0x2639d8[_0x299a96(0xaf)],'hash':_0x2639d8[_0x299a96(0xd3)],'kind':_0x2639d8[_0x299a96(0x91)],'ok':_0x2639d8[_0x299a96(0xa7)]['ok'],'service':_0x2639d8[_0x299a96(0xba)]?.[_0x299a96(0xa0)],'version':_0x2639d8[_0x299a96(0xba)]?.[_0x299a96(0xcb)],'serviceCount':_0x2639d8['manifests'][_0x299a96(0x8a)],'services':_0x2639d8[_0x299a96(0x9a)][_0x299a96(0xd0)](_0x5f0e1e=>({'service':_0x5f0e1e[_0x299a96(0xba)]?.[_0x299a96(0xa0)],'version':_0x5f0e1e[_0x299a96(0xba)]?.[_0x299a96(0xcb)],'commandCount':_0x5f0e1e[_0x299a96(0xba)]?.['commands'][_0x299a96(0x8a)]??0x0,'errors':_0x5f0e1e['report'][_0x299a96(0xcf)]})),'errors':_0x2639d8[_0x299a96(0xa7)][_0x299a96(0xcf)],'commandCount':_0x2639d8[_0x299a96(0xba)]?.[_0x299a96(0xb8)][_0x299a96(0x8a)]??0x0},'description':_0x299a96(0x8f)};},async 'execute'(_0x3f579e){const _0x4ba4c3=a62_0x39c7eb,_0x2b494b=importServiceManifest(_0x3f579e['str']('file'));if(_0x2b494b[_0x4ba4c3(0xc5)]['length']!==0x1)return{'ok':!![],'data':{'registryPath':_0x2b494b[_0x4ba4c3(0x98)],'imported':_0x2b494b[_0x4ba4c3(0xb1)],'updated':_0x2b494b[_0x4ba4c3(0xb5)],'serviceCount':_0x2b494b['serviceCount'],'services':_0x2b494b[_0x4ba4c3(0xc5)]['map'](summarizeService)},'message':_0x4ba4c3(0xcc)+_0x2b494b[_0x4ba4c3(0xb1)]+_0x4ba4c3(0xa9)+_0x2b494b[_0x4ba4c3(0xb5)]+_0x4ba4c3(0x8b)};return{'ok':!![],'data':{'registryPath':_0x2b494b[_0x4ba4c3(0x98)],'replaced':_0x2b494b[_0x4ba4c3(0xbe)],'imported':_0x2b494b['imported'],'updated':_0x2b494b['updated'],'serviceCount':_0x2b494b[_0x4ba4c3(0x96)],'service':summarizeService(_0x2b494b['entry'])},'message':(_0x2b494b['replaced']?'Updated':'Imported')+_0x4ba4c3(0xc9)+_0x2b494b[_0x4ba4c3(0xd4)][_0x4ba4c3(0xbb)]+'.'};}},{'service':a62_0x39c7eb(0xa0),'command':a62_0x39c7eb(0xc3),'description':a62_0x39c7eb(0xa3),'risk':a62_0x39c7eb(0xb7),'confirmationDescription':a62_0x39c7eb(0x9d),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x5d888d){const _0x3c28e8=a62_0x39c7eb,_0x3c2118=getLocalServiceEntry(_0x5d888d[_0x3c28e8(0x90)](_0x3c28e8(0xa0)));return{'method':'WRITE','url':_0x5d888d[_0x3c28e8(0x90)]('file'),'body':{'service':_0x5d888d[_0x3c28e8(0x90)](_0x3c28e8(0xa0)),'found':Boolean(_0x3c2118),'version':_0x3c2118?.['version'],'source':_0x3c2118?.[_0x3c28e8(0xce)]},'description':_0x3c28e8(0xbf)};},async 'execute'(_0x2e8b02){const _0x26b820=a62_0x39c7eb,_0x352829=exportServiceManifest(_0x2e8b02['str']('service'),_0x2e8b02[_0x26b820(0x90)](_0x26b820(0xc7)));return{'ok':!![],'data':{'registryPath':_0x352829['registryPath'],'file':_0x352829[_0x26b820(0xaf)],'service':summarizeService(_0x352829['entry'])},'message':_0x26b820(0x94)+_0x352829[_0x26b820(0xd4)][_0x26b820(0xbb)]+'.'};}},{'service':a62_0x39c7eb(0xa0),'command':'list','description':a62_0x39c7eb(0xd2),'risk':a62_0x39c7eb(0xa4),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x190272=a62_0x39c7eb,_0x58d0a5=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x58d0a5[_0x190272(0x8a)],'services':_0x58d0a5['map'](summarizeService)}};}},{'service':a62_0x39c7eb(0xa0),'command':a62_0x39c7eb(0x92),'description':a62_0x39c7eb(0xaa),'risk':'write','confirmationDescription':a62_0x39c7eb(0xd6),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x3ffd7b){const _0x5d1885=a62_0x39c7eb,_0x5b02b2=getLocalServiceEntry(_0x3ffd7b[_0x5d1885(0x90)](_0x5d1885(0xa0)));return{'method':_0x5d1885(0xbc),'url':getServiceRegistryPath(),'body':{'service':_0x3ffd7b[_0x5d1885(0x90)](_0x5d1885(0xa0)),'found':Boolean(_0x5b02b2),'version':_0x5b02b2?.[_0x5d1885(0xcb)],'source':_0x5b02b2?.[_0x5d1885(0xce)]},'description':'Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json'};},async 'execute'(_0x90fb59){const _0x1a86e7=a62_0x39c7eb,_0x2b9aed=removeServiceManifest(_0x90fb59['str'](_0x1a86e7(0xa0)));return{'ok':!![],'data':{'registryPath':_0x2b9aed[_0x1a86e7(0x98)],'serviceCount':_0x2b9aed['serviceCount'],'service':summarizeService(_0x2b9aed[_0x1a86e7(0xd4)])},'message':_0x1a86e7(0xbd)+_0x2b9aed['entry'][_0x1a86e7(0xbb)]+'.'};}},{'service':a62_0x39c7eb(0xa0),'command':a62_0x39c7eb(0xd5),'description':a62_0x39c7eb(0xcd),'risk':a62_0x39c7eb(0xa4),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x48b98b){const _0x142367=a62_0x39c7eb,_0x3e9fdb=getLocalServiceEntry(_0x48b98b[_0x142367(0x90)](_0x142367(0xa0)));if(!_0x3e9fdb)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x48b98b[_0x142367(0x90)]('service')},'message':_0x142367(0xae)+_0x48b98b[_0x142367(0x90)](_0x142367(0xa0))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x3e9fdb),'manifest':_0x3e9fdb[_0x142367(0xa1)],'normalizedManifest':toPublicNormalizedServiceTree(_0x3e9fdb['normalizedManifest'])}};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a63_0x10a473=a63_0x416b;(function(_0x3d916b,_0x328783){const _0x583331=a63_0x416b,_0x2e9c9d=_0x3d916b();while(!![]){try{const _0x20a661=-parseInt(_0x583331(0x185))/0x1*(-parseInt(_0x583331(0x190))/0x2)+-parseInt(_0x583331(0x153))/0x3+-parseInt(_0x583331(0x177))/0x4*(parseInt(_0x583331(0x167))/0x5)+-parseInt(_0x583331(0x194))/0x6*(-parseInt(_0x583331(0x198))/0x7)+-parseInt(_0x583331(0x188))/0x8*(-parseInt(_0x583331(0x19b))/0x9)+-parseInt(_0x583331(0x16f))/0xa+-parseInt(_0x583331(0x186))/0xb;if(_0x20a661===_0x328783)break;else _0x2e9c9d['push'](_0x2e9c9d['shift']());}catch(_0x11fd4a){_0x2e9c9d['push'](_0x2e9c9d['shift']());}}}(a63_0x12cb,0x7eb8e));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=a63_0x10a473(0x16d);export function getServiceRegistryPath(_0x759778={}){const _0x5ddc51=a63_0x10a473;return resolve(_0x759778[_0x5ddc51(0x182)]??homedir(),PRODUCT_CONFIG[_0x5ddc51(0x19a)],SERVICE_REGISTRY_FILE_NAME);}function a63_0x416b(_0x24c86b,_0x8c350e){_0x24c86b=_0x24c86b-0x151;const _0x12cb43=a63_0x12cb();let _0x416bb3=_0x12cb43[_0x24c86b];return _0x416bb3;}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x3cadfc={}){const _0x1ff2ff=a63_0x10a473,_0x5b158a=getServiceRegistryPath(_0x3cadfc);if(!existsSync(_0x5b158a))return emptyServiceRegistry();try{const _0x425742=readFileSync(_0x5b158a,'utf8');if(!_0x425742[_0x1ff2ff(0x155)]())return emptyServiceRegistry();const _0x5eb073=JSON['parse'](_0x425742);if(_0x5eb073[_0x1ff2ff(0x196)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x1ff2ff(0x18d)](_0x1ff2ff(0x156)+String(_0x5eb073[_0x1ff2ff(0x196)]),_0x1ff2ff(0x176)+_0x5b158a+'.');if(!Array['isArray'](_0x5eb073[_0x1ff2ff(0x159)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x5eb073[_0x1ff2ff(0x154)],'services':_0x5eb073[_0x1ff2ff(0x159)]};}catch(_0x4bfec2){if(_0x4bfec2 instanceof Error&&_0x4bfec2[_0x1ff2ff(0x189)]===_0x1ff2ff(0x191))throw _0x4bfec2;throw CliErrors[_0x1ff2ff(0x18d)]('Invalid\x20service\x20registry\x20JSON:\x20'+_0x5b158a,_0x1ff2ff(0x195));}}export function writeServiceRegistry(_0x3d315f,_0x460713={}){const _0x9cc2d8=a63_0x10a473,_0x321cae=getServiceRegistryPath(_0x460713),_0x9933f2=dirname(_0x321cae);!existsSync(_0x9933f2)&&mkdirSync(_0x9933f2,{'recursive':!![]});const _0x2edf9e=_0x321cae+'.tmp';try{writeFileSync(_0x2edf9e,JSON[_0x9cc2d8(0x180)](_0x3d315f,null,0x2)+'\x0a',{'encoding':_0x9cc2d8(0x152),'mode':0x180}),renameSync(_0x2edf9e,_0x321cae);}catch(_0x2c8e0e){try{unlinkSync(_0x2edf9e);}catch{}if(_0x2c8e0e?.['code']==='ENOENT')throw CliErrors[_0x9cc2d8(0x18d)](_0x9cc2d8(0x19e)+_0x321cae);throw _0x2c8e0e;}return _0x321cae;}export function loadServiceManifestFromFile(_0x17bca5){const _0x276ed6=a63_0x10a473,_0x5b058a=resolve(_0x17bca5);if(!existsSync(_0x5b058a))throw CliErrors[_0x276ed6(0x18d)](_0x276ed6(0x160)+_0x17bca5);let _0x47da7d;const _0x4be80d=readFileSync(_0x5b058a,'utf8');try{_0x47da7d=JSON[_0x276ed6(0x16b)](_0x4be80d);}catch{throw CliErrors['validation'](_0x276ed6(0x17b)+_0x17bca5,_0x276ed6(0x16e));}const _0x187f6a=sha256(_0x4be80d),_0x399491=extractLoadedServiceManifests(_0x47da7d,_0x187f6a),_0x5cb92e=aggregateValidationReports(_0x399491),_0x176513=_0x399491[0x0];return{'filePath':_0x5b058a,'hash':_0x187f6a,'kind':isServiceRegistryLike(_0x47da7d)?_0x276ed6(0x18a):'manifest','manifest':_0x176513?.[_0x276ed6(0x151)]??_0x47da7d,'report':_0x5cb92e,'normalizedManifest':_0x399491['length']===0x1?_0x176513?.['normalizedManifest']:undefined,'manifests':_0x399491};}export function importServiceManifest(_0x401390,_0x49a02c={}){const _0x414f16=a63_0x10a473,_0x4d7f29=loadServiceManifestFromFile(_0x401390);if(!_0x4d7f29[_0x414f16(0x165)]['ok'])throw CliErrors[_0x414f16(0x18d)](formatValidationFailure(_0x4d7f29['report']),_0x414f16(0x184));if(_0x4d7f29[_0x414f16(0x15e)][_0x414f16(0x18b)]===0x0)throw CliErrors['validation']('Service\x20registry\x20has\x20no\x20services\x20to\x20import.',_0x414f16(0x1a0));const _0x3f0620=readServiceRegistry(_0x49a02c),_0x568b49=(_0x49a02c[_0x414f16(0x175)]??(()=>new Date()))()[_0x414f16(0x174)](),_0x1b14bc=[];let _0x504ba4=0x0,_0x5329e6=0x0;for(const _0x2219f0 of _0x4d7f29[_0x414f16(0x15e)]){if(!_0x2219f0[_0x414f16(0x18e)])continue;const _0x453aec=_0x2219f0[_0x414f16(0x18e)][_0x414f16(0x161)][_0x414f16(0x178)],_0x33f847={'serviceCode':_0x453aec,'version':_0x2219f0['normalizedManifest']['version'],'importedAt':_0x568b49,'source':{'type':_0x414f16(0x162),'path':_0x4d7f29[_0x414f16(0x158)],'hash':_0x2219f0[_0x414f16(0x157)]},'manifest':_0x2219f0[_0x414f16(0x151)],'normalizedManifest':_0x2219f0['normalizedManifest']},_0x3668c5=_0x3f0620[_0x414f16(0x159)][_0x414f16(0x171)](_0x5871e3=>_0x5871e3[_0x414f16(0x168)]===_0x453aec);_0x3668c5>=0x0?(_0x3f0620[_0x414f16(0x159)][_0x3668c5]=_0x33f847,_0x5329e6++):(_0x3f0620['services'][_0x414f16(0x170)](_0x33f847),_0x504ba4++),_0x1b14bc[_0x414f16(0x170)](_0x33f847);}_0x3f0620['services'][_0x414f16(0x17d)]((_0x2aed46,_0x1bd7f6)=>_0x2aed46['serviceCode'][_0x414f16(0x19c)](_0x1bd7f6[_0x414f16(0x168)])),_0x3f0620[_0x414f16(0x154)]=_0x568b49;const _0x17a570=writeServiceRegistry(_0x3f0620,_0x49a02c);return{'registryPath':_0x17a570,'entry':_0x1b14bc[0x0],'replaced':_0x1b14bc[_0x414f16(0x18b)]===0x1?_0x5329e6===0x1:_0x5329e6>0x0,'entries':_0x1b14bc,'imported':_0x504ba4,'updated':_0x5329e6,'serviceCount':_0x3f0620[_0x414f16(0x159)][_0x414f16(0x18b)]};}export function exportServiceManifest(_0x3e0663,_0x3c7a51,_0x388a79={}){const _0x99493f=a63_0x10a473,_0x55d447=getServiceRegistryPath(_0x388a79),_0x32237b=getLocalServiceEntry(_0x3e0663,_0x388a79);if(!_0x32237b)throw CliErrors[_0x99493f(0x18d)](_0x99493f(0x173)+_0x3e0663,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const _0x152b82=resolve(_0x3c7a51),_0xf11fde=dirname(_0x152b82);return!existsSync(_0xf11fde)&&mkdirSync(_0xf11fde,{'recursive':!![]}),writeFileSync(_0x152b82,JSON['stringify'](_0x32237b['manifest'],null,0x2)+'\x0a',{'encoding':_0x99493f(0x152),'mode':0x180}),{'registryPath':_0x55d447,'filePath':_0x152b82,'entry':_0x32237b};}export function removeServiceManifest(_0xcead95,_0x25ed11={}){const _0xfb4eb6=a63_0x10a473,_0x456ae5=readServiceRegistry(_0x25ed11),_0x505626=_0xcead95[_0xfb4eb6(0x155)](),_0x8c88fc=_0x456ae5['services']['findIndex'](_0x443820=>_0x443820[_0xfb4eb6(0x168)]===_0x505626);if(_0x8c88fc<0x0)throw CliErrors['validation']('Local\x20service\x20not\x20found:\x20'+_0x505626,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const [_0x4b4ee9]=_0x456ae5[_0xfb4eb6(0x159)]['splice'](_0x8c88fc,0x1),_0x53ea20=(_0x25ed11[_0xfb4eb6(0x175)]??(()=>new Date()))()[_0xfb4eb6(0x174)]();_0x456ae5[_0xfb4eb6(0x154)]=_0x53ea20;const _0x544a93=writeServiceRegistry(_0x456ae5,_0x25ed11);return{'registryPath':_0x544a93,'entry':_0x4b4ee9,'serviceCount':_0x456ae5[_0xfb4eb6(0x159)][_0xfb4eb6(0x18b)]};}export function listLocalServices(_0x4d50cc={}){return readServiceRegistry(_0x4d50cc)['services'];}export function getLocalServiceEntry(_0x395094,_0x49f29a={}){const _0x4e6333=a63_0x10a473;return readServiceRegistry(_0x49f29a)[_0x4e6333(0x159)][_0x4e6333(0x179)](_0x438c53=>_0x438c53[_0x4e6333(0x168)]===_0x395094[_0x4e6333(0x155)]());}export function listLocalServiceTrees(_0x44702b={}){const _0x1bed93=a63_0x10a473;return readServiceRegistry(_0x44702b)[_0x1bed93(0x159)][_0x1bed93(0x17f)](_0x4304f2=>_0x4304f2['normalizedManifest']);}export function inspectServiceRegistry(_0x12f1c4={}){const _0x30d266=a63_0x10a473,_0x5e34c5=getServiceRegistryPath(_0x12f1c4);if(!existsSync(_0x5e34c5))return emptyServiceRegistryInspection(_0x5e34c5,'missing',![]);try{const _0xfd22ed=readFileSync(_0x5e34c5,_0x30d266(0x152));if(!_0xfd22ed[_0x30d266(0x155)]())return emptyServiceRegistryInspection(_0x5e34c5,_0x30d266(0x169),!![]);const _0x436b65=JSON[_0x30d266(0x16b)](_0xfd22ed);if(_0x436b65['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x5e34c5,_0x30d266(0x192),!![]),'schemaVersion':_0x436b65['schemaVersion'],'message':_0x30d266(0x164)+String(_0x436b65[_0x30d266(0x196)])};if(!Array[_0x30d266(0x16a)](_0x436b65[_0x30d266(0x159)]))return{...emptyServiceRegistryInspection(_0x5e34c5,_0x30d266(0x192),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x436b65[_0x30d266(0x154)],'message':'services\x20must\x20be\x20an\x20array'};const _0x4d7f73=_0x436b65[_0x30d266(0x159)][_0x30d266(0x17f)](summarizeLocalServiceEntry);return{'registryPath':_0x5e34c5,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x436b65[_0x30d266(0x154)],'serviceCount':_0x4d7f73[_0x30d266(0x18b)],'commandCount':_0x4d7f73['reduce']((_0x3e8f08,_0x2e27d0)=>_0x3e8f08+_0x2e27d0[_0x30d266(0x16c)],0x0),'services':_0x4d7f73};}catch(_0x309d5f){return{...emptyServiceRegistryInspection(_0x5e34c5,_0x30d266(0x192),!![]),'message':_0x309d5f instanceof Error?_0x309d5f[_0x30d266(0x15c)]:String(_0x309d5f)};}}export function formatValidationFailure(_0x2cf60e){const _0x590314=a63_0x10a473,_0x585d2b=_0x2cf60e[_0x590314(0x15b)]['map'](_0x30839f=>_0x30839f[_0x590314(0x18c)]+':\x20'+_0x30839f['message']);return'Service\x20manifest\x20validation\x20failed:\x0a'+_0x585d2b['join']('\x0a');}function extractLoadedServiceManifests(_0xfcc77e,_0x4fedbd){const _0x98d297=a63_0x10a473;if(!isServiceRegistryLike(_0xfcc77e)){const _0x1120ce=_0xfcc77e,{manifest:_0x21f691,errors:_0x408f79}=adaptServiceTreeManifestForLegacyFramework(_0x1120ce),_0x37999e=validateServiceTreeManifest(_0x21f691),_0x4ddd83=mergeValidationErrors(_0x37999e,_0x408f79);return[{'manifest':_0x1120ce,'report':_0x4ddd83,'normalizedManifest':_0x4ddd83['ok']?normalizeServiceTreeManifest(_0x21f691):undefined,'sourceHash':_0x4fedbd}];}return _0xfcc77e[_0x98d297(0x159)][_0x98d297(0x17f)]((_0x447d3e,_0x3b2470)=>{const _0x2b5d18=_0x98d297,_0x3dfc66=isObjectRecord(_0x447d3e)?_0x447d3e[_0x2b5d18(0x151)]:undefined,{manifest:_0x54e028,errors:_0x1eea96}=adaptServiceTreeManifestForLegacyFramework(_0x3dfc66),_0x1e35df=validateServiceTreeManifest(_0x54e028),_0x3fe2ae=mergeValidationErrors(_0x1e35df,_0x1eea96),_0x27932a=isObjectRecord(_0x447d3e)&&typeof _0x447d3e[_0x2b5d18(0x168)]==='string'?_0x447d3e[_0x2b5d18(0x168)]:undefined;return{'manifest':_0x3dfc66,'report':_0x3fe2ae,'normalizedManifest':_0x3fe2ae['ok']?normalizeServiceTreeManifest(_0x54e028):undefined,'sourceHash':sha256(JSON[_0x2b5d18(0x180)](_0x3dfc66,null,0x2)+'\x0a'),'registryIndex':_0x3b2470,'registryServiceCode':_0x27932a};});}function mergeValidationErrors(_0x9dcf15,_0x3ffb98){const _0x492e3e=a63_0x10a473,_0x473f49=_0x9dcf15['errors'][_0x492e3e(0x17f)](_0x3e6fa7=>_0x3e6fa7['message']==='bff\x20target\x20requires\x20bffCode,\x20bffId,\x20or\x20scriptName.'?{..._0x3e6fa7,'message':'bff\x20target\x20requires\x20functionName.'}:_0x3e6fa7),_0x43982b=[..._0x3ffb98,..._0x473f49];return{'ok':_0x43982b['length']===0x0,'errors':_0x43982b,'warnings':_0x9dcf15[_0x492e3e(0x187)]};}function a63_0x12cb(){const _0x266f8f=['empty','isArray','parse','commandCount','service.json','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','1925370eNqVhj','push','findIndex','digest','Local\x20service\x20not\x20found:\x20','toISOString','now','Remove\x20or\x20migrate\x20','10416yWXOOL','code','find','cliPath','Invalid\x20service\x20manifest\x20JSON:\x20','risk','sort','sha256','map','stringify','object','homeDir','kind','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','1fKQCdY','6570608nkxGZJ','warnings','718792TmTFmS','name','registry','length','path','validation','normalizedManifest','registryIndex','292770FifcwF','CliError','invalid','version','30318naVhuZ','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','schemaVersion','commands','1351XwjoyE','flatMap','homeDirName','90mokmtS','localeCompare','target','Cannot\x20write\x20service\x20registry:\x20','].manifest','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','manifest','utf8','1125807GvVxOX','updatedAt','trim','Unsupported\x20service\x20registry\x20schemaVersion:\x20','sourceHash','filePath','services','command','errors','message','update','manifests','hex','Service\x20manifest\x20file\x20not\x20found:\x20','service','file','$.services[','Unsupported\x20schemaVersion:\x20','report','startsWith','645wQaMep','serviceCode'];a63_0x12cb=function(){return _0x266f8f;};return a63_0x12cb();}function aggregateValidationReports(_0x189fc3){const _0x3d32a6=a63_0x10a473,_0x4a3260=_0x189fc3[_0x3d32a6(0x199)](_0x4baae6=>_0x4baae6[_0x3d32a6(0x18f)]===undefined?_0x4baae6['report'][_0x3d32a6(0x15b)]:_0x4baae6[_0x3d32a6(0x165)][_0x3d32a6(0x15b)][_0x3d32a6(0x17f)](_0x4115e7=>({..._0x4115e7,'path':prefixRegistryIssuePath(_0x4baae6[_0x3d32a6(0x18f)],_0x4115e7[_0x3d32a6(0x18c)])}))),_0xf26ce7=_0x189fc3[_0x3d32a6(0x199)](_0x3002e9=>_0x3002e9[_0x3d32a6(0x18f)]===undefined?_0x3002e9[_0x3d32a6(0x165)][_0x3d32a6(0x187)]:_0x3002e9[_0x3d32a6(0x165)]['warnings']['map'](_0xca2137=>({..._0xca2137,'path':prefixRegistryIssuePath(_0x3002e9[_0x3d32a6(0x18f)],_0xca2137['path'])})));return{'ok':_0x4a3260['length']===0x0,'errors':_0x4a3260,'warnings':_0xf26ce7};}function prefixRegistryIssuePath(_0x5942d3,_0x857b9f){const _0x15c79e=a63_0x10a473;if(_0x857b9f==='$')return'$.services['+_0x5942d3+_0x15c79e(0x19f);if(_0x857b9f[_0x15c79e(0x166)]('$.'))return'$.services['+_0x5942d3+'].manifest'+_0x857b9f['slice'](0x1);if(_0x857b9f[_0x15c79e(0x166)]('$['))return'$.services['+_0x5942d3+'].manifest'+_0x857b9f['slice'](0x1);return _0x15c79e(0x163)+_0x5942d3+'].manifest.'+_0x857b9f;}function isServiceRegistryLike(_0x13181f){const _0x5769ec=a63_0x10a473;return isObjectRecord(_0x13181f)&&_0x13181f[_0x5769ec(0x196)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x5769ec(0x16a)](_0x13181f[_0x5769ec(0x159)]);}function isObjectRecord(_0x259f7a){const _0xd3099a=a63_0x10a473;return Boolean(_0x259f7a)&&typeof _0x259f7a===_0xd3099a(0x181)&&!Array[_0xd3099a(0x16a)](_0x259f7a);}function emptyServiceRegistryInspection(_0x1b1ccf,_0x51655e,_0x3cdc4f){return{'registryPath':_0x1b1ccf,'exists':_0x3cdc4f,'status':_0x51655e,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x18ae46){const _0x5c7bee=a63_0x10a473,_0x1fc3d2=_0x18ae46[_0x5c7bee(0x18e)],_0x530f30=_0x1fc3d2[_0x5c7bee(0x197)][_0x5c7bee(0x17f)](_0x2488a0=>({'path':_0x2488a0[_0x5c7bee(0x17a)],'description':_0x2488a0['description'],'risk':_0x2488a0[_0x5c7bee(0x17c)],'targetKind':_0x2488a0[_0x5c7bee(0x19d)][_0x5c7bee(0x183)],'targetCommand':_0x2488a0[_0x5c7bee(0x19d)][_0x5c7bee(0x15a)]}));return{'serviceCode':_0x18ae46[_0x5c7bee(0x168)],'name':_0x1fc3d2['service'][_0x5c7bee(0x189)],'description':_0x1fc3d2['service']['description'],'version':_0x18ae46[_0x5c7bee(0x193)],'importedAt':_0x18ae46['importedAt'],'source':_0x18ae46['source'],'commandCount':_0x530f30[_0x5c7bee(0x18b)],'commands':_0x530f30};}function sha256(_0x5d5966){const _0x3d5587=a63_0x10a473;return createHash(_0x3d5587(0x17e))[_0x3d5587(0x15d)](_0x5d5966)[_0x3d5587(0x172)](_0x3d5587(0x15f));}
|
|
1
|
+
const a63_0x42e8ec=a63_0x49cc;(function(_0x576a6c,_0x2a4681){const _0x39972e=a63_0x49cc,_0xe863d4=_0x576a6c();while(!![]){try{const _0x482424=parseInt(_0x39972e(0x15c))/0x1+-parseInt(_0x39972e(0x189))/0x2+-parseInt(_0x39972e(0x150))/0x3*(-parseInt(_0x39972e(0x137))/0x4)+parseInt(_0x39972e(0x163))/0x5+-parseInt(_0x39972e(0x146))/0x6+parseInt(_0x39972e(0x176))/0x7*(parseInt(_0x39972e(0x14f))/0x8)+-parseInt(_0x39972e(0x13c))/0x9*(parseInt(_0x39972e(0x143))/0xa);if(_0x482424===_0x2a4681)break;else _0xe863d4['push'](_0xe863d4['shift']());}catch(_0x39f805){_0xe863d4['push'](_0xe863d4['shift']());}}}(a63_0x1fcc,0x53143));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=a63_0x42e8ec(0x149);export function getServiceRegistryPath(_0x49d6c0={}){const _0x42155f=a63_0x42e8ec;return resolve(_0x49d6c0[_0x42155f(0x13b)]??homedir(),PRODUCT_CONFIG['homeDirName'],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x2ac70b={}){const _0x2d0e28=a63_0x42e8ec,_0x217a07=getServiceRegistryPath(_0x2ac70b);if(!existsSync(_0x217a07))return emptyServiceRegistry();try{const _0x46a95f=readFileSync(_0x217a07,_0x2d0e28(0x17b));if(!_0x46a95f[_0x2d0e28(0x13f)]())return emptyServiceRegistry();const _0x3970a7=JSON['parse'](_0x46a95f);if(_0x3970a7['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x2d0e28(0x140)](_0x2d0e28(0x15f)+String(_0x3970a7[_0x2d0e28(0x14e)]),_0x2d0e28(0x14c)+_0x217a07+'.');if(!Array['isArray'](_0x3970a7[_0x2d0e28(0x15e)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x3970a7['updatedAt'],'services':_0x3970a7[_0x2d0e28(0x15e)]};}catch(_0x1b44d1){if(_0x1b44d1 instanceof Error&&_0x1b44d1[_0x2d0e28(0x187)]===_0x2d0e28(0x181))throw _0x1b44d1;throw CliErrors[_0x2d0e28(0x140)](_0x2d0e28(0x154)+_0x217a07,_0x2d0e28(0x161));}}function a63_0x49cc(_0x59d54b,_0x19535b){_0x59d54b=_0x59d54b-0x133;const _0x1fcc80=a63_0x1fcc();let _0x49cc57=_0x1fcc80[_0x59d54b];return _0x49cc57;}export function writeServiceRegistry(_0x4df5d4,_0xa2327b={}){const _0x2fef06=a63_0x42e8ec,_0x5e9f5c=getServiceRegistryPath(_0xa2327b),_0x366efe=dirname(_0x5e9f5c);!existsSync(_0x366efe)&&mkdirSync(_0x366efe,{'recursive':!![]});const _0x104da7=_0x5e9f5c+_0x2fef06(0x16e);try{writeFileSync(_0x104da7,JSON[_0x2fef06(0x157)](_0x4df5d4,null,0x2)+'\x0a',{'encoding':_0x2fef06(0x17b),'mode':0x180}),renameSync(_0x104da7,_0x5e9f5c);}catch(_0x48de66){try{unlinkSync(_0x104da7);}catch{}if(_0x48de66?.['code']===_0x2fef06(0x182))throw CliErrors['validation'](_0x2fef06(0x16f)+_0x5e9f5c);throw _0x48de66;}return _0x5e9f5c;}export function loadServiceManifestFromFile(_0x3f8121){const _0x3eb50d=a63_0x42e8ec,_0x3fe34e=resolve(_0x3f8121);if(!existsSync(_0x3fe34e))throw CliErrors[_0x3eb50d(0x140)](_0x3eb50d(0x15a)+_0x3f8121);let _0x2f4082;const _0x2064a9=readFileSync(_0x3fe34e,_0x3eb50d(0x17b));try{_0x2f4082=JSON[_0x3eb50d(0x139)](_0x2064a9);}catch{throw CliErrors['validation']('Invalid\x20service\x20manifest\x20JSON:\x20'+_0x3f8121,'Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.');}const _0x4dface=sha256(_0x2064a9),_0x857610=extractLoadedServiceManifests(_0x2f4082,_0x4dface),_0x30f3cb=aggregateValidationReports(_0x857610),_0x213757=_0x857610[0x0];return{'filePath':_0x3fe34e,'hash':_0x4dface,'kind':isServiceRegistryLike(_0x2f4082)?_0x3eb50d(0x13e):_0x3eb50d(0x13d),'manifest':_0x213757?.[_0x3eb50d(0x13d)]??_0x2f4082,'report':_0x30f3cb,'normalizedManifest':_0x857610[_0x3eb50d(0x17c)]===0x1?_0x213757?.[_0x3eb50d(0x174)]:undefined,'manifests':_0x857610};}export function importServiceManifest(_0x357457,_0x471c6c={}){const _0xaa21a=a63_0x42e8ec,_0x4ed2ea=loadServiceManifestFromFile(_0x357457);if(!_0x4ed2ea[_0xaa21a(0x17f)]['ok'])throw CliErrors['validation'](formatValidationFailure(_0x4ed2ea[_0xaa21a(0x17f)]),_0xaa21a(0x145));if(_0x4ed2ea[_0xaa21a(0x167)][_0xaa21a(0x17c)]===0x0)throw CliErrors[_0xaa21a(0x140)](_0xaa21a(0x15b),_0xaa21a(0x148));const _0x55f64d=readServiceRegistry(_0x471c6c),_0x54e594=(_0x471c6c[_0xaa21a(0x16c)]??(()=>new Date()))()[_0xaa21a(0x14b)](),_0x4f5863=[];let _0x448651=0x0,_0x27417e=0x0;for(const _0x211f45 of _0x4ed2ea[_0xaa21a(0x167)]){if(!_0x211f45[_0xaa21a(0x174)])continue;const _0x399189=_0x211f45[_0xaa21a(0x174)]['service']['code'],_0x145eac={'serviceCode':_0x399189,'version':_0x211f45[_0xaa21a(0x174)][_0xaa21a(0x13a)],'importedAt':_0x54e594,'source':{'type':'file','path':_0x4ed2ea[_0xaa21a(0x166)],'hash':_0x211f45[_0xaa21a(0x153)]},'manifest':_0x211f45[_0xaa21a(0x13d)],'normalizedManifest':_0x211f45[_0xaa21a(0x174)]},_0x400105=_0x55f64d[_0xaa21a(0x15e)][_0xaa21a(0x177)](_0x26faae=>_0x26faae['serviceCode']===_0x399189);_0x400105>=0x0?(_0x55f64d[_0xaa21a(0x15e)][_0x400105]=_0x145eac,_0x27417e++):(_0x55f64d[_0xaa21a(0x15e)][_0xaa21a(0x14d)](_0x145eac),_0x448651++),_0x4f5863[_0xaa21a(0x14d)](_0x145eac);}_0x55f64d[_0xaa21a(0x15e)][_0xaa21a(0x183)]((_0x460a25,_0x5cbfdf)=>_0x460a25[_0xaa21a(0x136)][_0xaa21a(0x160)](_0x5cbfdf['serviceCode'])),_0x55f64d[_0xaa21a(0x144)]=_0x54e594;const _0x623a16=writeServiceRegistry(_0x55f64d,_0x471c6c);return{'registryPath':_0x623a16,'entry':_0x4f5863[0x0],'replaced':_0x4f5863['length']===0x1?_0x27417e===0x1:_0x27417e>0x0,'entries':_0x4f5863,'imported':_0x448651,'updated':_0x27417e,'serviceCount':_0x55f64d[_0xaa21a(0x15e)][_0xaa21a(0x17c)]};}export function exportServiceManifest(_0x59dbd3,_0x9d2901,_0x4f879b={}){const _0x3e818a=a63_0x42e8ec,_0xce9c34=getServiceRegistryPath(_0x4f879b),_0x5d8e9a=getLocalServiceEntry(_0x59dbd3,_0x4f879b);if(!_0x5d8e9a)throw CliErrors[_0x3e818a(0x140)](_0x3e818a(0x165)+_0x59dbd3,_0x3e818a(0x159));const _0x3ff514=resolve(_0x9d2901),_0xcf0770=dirname(_0x3ff514);return!existsSync(_0xcf0770)&&mkdirSync(_0xcf0770,{'recursive':!![]}),writeFileSync(_0x3ff514,JSON[_0x3e818a(0x157)](_0x5d8e9a['manifest'],null,0x2)+'\x0a',{'encoding':_0x3e818a(0x17b),'mode':0x180}),{'registryPath':_0xce9c34,'filePath':_0x3ff514,'entry':_0x5d8e9a};}export function removeServiceManifest(_0xd4741,_0x561e77={}){const _0x2f6a2e=a63_0x42e8ec,_0x1f41cb=readServiceRegistry(_0x561e77),_0xa4f312=_0xd4741[_0x2f6a2e(0x13f)](),_0x45a4be=_0x1f41cb[_0x2f6a2e(0x15e)][_0x2f6a2e(0x177)](_0x5c1540=>_0x5c1540[_0x2f6a2e(0x136)]===_0xa4f312);if(_0x45a4be<0x0)throw CliErrors[_0x2f6a2e(0x140)](_0x2f6a2e(0x165)+_0xa4f312,_0x2f6a2e(0x159));const [_0x11d788]=_0x1f41cb[_0x2f6a2e(0x15e)][_0x2f6a2e(0x186)](_0x45a4be,0x1),_0xaf3b24=(_0x561e77[_0x2f6a2e(0x16c)]??(()=>new Date()))()[_0x2f6a2e(0x14b)]();_0x1f41cb[_0x2f6a2e(0x144)]=_0xaf3b24;const _0x173153=writeServiceRegistry(_0x1f41cb,_0x561e77);return{'registryPath':_0x173153,'entry':_0x11d788,'serviceCount':_0x1f41cb[_0x2f6a2e(0x15e)][_0x2f6a2e(0x17c)]};}export function listLocalServices(_0x1bb86f={}){const _0x370114=a63_0x42e8ec;return readServiceRegistry(_0x1bb86f)[_0x370114(0x15e)];}export function getLocalServiceEntry(_0xdd8075,_0x29f8ad={}){const _0x443356=a63_0x42e8ec;return readServiceRegistry(_0x29f8ad)[_0x443356(0x15e)][_0x443356(0x162)](_0x30dcfb=>_0x30dcfb[_0x443356(0x136)]===_0xdd8075[_0x443356(0x13f)]());}export function listLocalServiceTrees(_0x1f4f92={}){const _0x75ecfa=a63_0x42e8ec;return readServiceRegistry(_0x1f4f92)[_0x75ecfa(0x15e)][_0x75ecfa(0x152)](_0x4f2526=>_0x4f2526['normalizedManifest']);}export function inspectServiceRegistry(_0x17f39f={}){const _0x5e6ba1=a63_0x42e8ec,_0x1b8e16=getServiceRegistryPath(_0x17f39f);if(!existsSync(_0x1b8e16))return emptyServiceRegistryInspection(_0x1b8e16,_0x5e6ba1(0x168),![]);try{const _0x5b29c6=readFileSync(_0x1b8e16,'utf8');if(!_0x5b29c6[_0x5e6ba1(0x13f)]())return emptyServiceRegistryInspection(_0x1b8e16,_0x5e6ba1(0x17d),!![]);const _0x1c60e0=JSON[_0x5e6ba1(0x139)](_0x5b29c6);if(_0x1c60e0[_0x5e6ba1(0x14e)]!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x1b8e16,'invalid',!![]),'schemaVersion':_0x1c60e0[_0x5e6ba1(0x14e)],'message':_0x5e6ba1(0x17a)+String(_0x1c60e0[_0x5e6ba1(0x14e)])};if(!Array[_0x5e6ba1(0x188)](_0x1c60e0[_0x5e6ba1(0x15e)]))return{...emptyServiceRegistryInspection(_0x1b8e16,'invalid',!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x1c60e0[_0x5e6ba1(0x144)],'message':'services\x20must\x20be\x20an\x20array'};const _0x5a96f4=_0x1c60e0['services'][_0x5e6ba1(0x152)](summarizeLocalServiceEntry);return{'registryPath':_0x1b8e16,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x1c60e0[_0x5e6ba1(0x144)],'serviceCount':_0x5a96f4[_0x5e6ba1(0x17c)],'commandCount':_0x5a96f4[_0x5e6ba1(0x178)]((_0x327815,_0x4c504a)=>_0x327815+_0x4c504a[_0x5e6ba1(0x175)],0x0),'services':_0x5a96f4};}catch(_0x46b86f){return{...emptyServiceRegistryInspection(_0x1b8e16,_0x5e6ba1(0x134),!![]),'message':_0x46b86f instanceof Error?_0x46b86f[_0x5e6ba1(0x172)]:String(_0x46b86f)};}}export function formatValidationFailure(_0x2c3812){const _0x4a57c=a63_0x42e8ec,_0x3dfd4d=_0x2c3812[_0x4a57c(0x17e)][_0x4a57c(0x152)](_0x4530e0=>_0x4530e0[_0x4a57c(0x179)]+':\x20'+_0x4530e0[_0x4a57c(0x172)]);return'Service\x20manifest\x20validation\x20failed:\x0a'+_0x3dfd4d[_0x4a57c(0x170)]('\x0a');}function extractLoadedServiceManifests(_0x16134e,_0x5c2b02){const _0x1369d3=a63_0x42e8ec;if(!isServiceRegistryLike(_0x16134e)){const _0x325688=_0x16134e,{manifest:_0x5316a5,errors:_0x583162}=adaptServiceTreeManifestForLegacyFramework(_0x325688),_0x5dc41e=validateServiceTreeManifest(_0x5316a5),_0x302597=mergeValidationErrors(_0x5dc41e,_0x583162);return[{'manifest':_0x325688,'report':_0x302597,'normalizedManifest':_0x302597['ok']?normalizeServiceTreeManifest(_0x5316a5):undefined,'sourceHash':_0x5c2b02}];}return _0x16134e['services'][_0x1369d3(0x152)]((_0x8e6510,_0x204025)=>{const _0x44e650=_0x1369d3,_0x31d94d=isObjectRecord(_0x8e6510)?_0x8e6510['manifest']:undefined,{manifest:_0x1f2420,errors:_0x4b8e17}=adaptServiceTreeManifestForLegacyFramework(_0x31d94d),_0xfeaf23=validateServiceTreeManifest(_0x1f2420),_0x3c6367=mergeValidationErrors(_0xfeaf23,_0x4b8e17),_0x30725b=isObjectRecord(_0x8e6510)&&typeof _0x8e6510[_0x44e650(0x136)]==='string'?_0x8e6510['serviceCode']:undefined;return{'manifest':_0x31d94d,'report':_0x3c6367,'normalizedManifest':_0x3c6367['ok']?normalizeServiceTreeManifest(_0x1f2420):undefined,'sourceHash':sha256(JSON[_0x44e650(0x157)](_0x31d94d,null,0x2)+'\x0a'),'registryIndex':_0x204025,'registryServiceCode':_0x30725b};});}function mergeValidationErrors(_0x804db7,_0x28d8cb){const _0x51d5ca=a63_0x42e8ec,_0x2d2637=_0x804db7[_0x51d5ca(0x17e)][_0x51d5ca(0x152)](_0x21dc71=>_0x21dc71['message']===_0x51d5ca(0x15d)?{..._0x21dc71,'message':'bff\x20target\x20requires\x20functionName.'}:_0x21dc71),_0x4249fc=[..._0x28d8cb,..._0x2d2637];return{'ok':_0x4249fc[_0x51d5ca(0x17c)]===0x0,'errors':_0x4249fc,'warnings':_0x804db7[_0x51d5ca(0x158)]};}function aggregateValidationReports(_0xf940a8){const _0x28f78f=a63_0x42e8ec,_0x5cb0ef=_0xf940a8[_0x28f78f(0x155)](_0x4e424b=>_0x4e424b[_0x28f78f(0x184)]===undefined?_0x4e424b[_0x28f78f(0x17f)][_0x28f78f(0x17e)]:_0x4e424b[_0x28f78f(0x17f)][_0x28f78f(0x17e)]['map'](_0x18a528=>({..._0x18a528,'path':prefixRegistryIssuePath(_0x4e424b['registryIndex'],_0x18a528[_0x28f78f(0x179)])}))),_0x52496b=_0xf940a8[_0x28f78f(0x155)](_0x4a7a3d=>_0x4a7a3d[_0x28f78f(0x184)]===undefined?_0x4a7a3d[_0x28f78f(0x17f)][_0x28f78f(0x158)]:_0x4a7a3d[_0x28f78f(0x17f)][_0x28f78f(0x158)]['map'](_0x245b82=>({..._0x245b82,'path':prefixRegistryIssuePath(_0x4a7a3d[_0x28f78f(0x184)],_0x245b82[_0x28f78f(0x179)])})));return{'ok':_0x5cb0ef[_0x28f78f(0x17c)]===0x0,'errors':_0x5cb0ef,'warnings':_0x52496b};}function prefixRegistryIssuePath(_0x29567c,_0x13a85a){const _0x37e122=a63_0x42e8ec;if(_0x13a85a==='$')return _0x37e122(0x14a)+_0x29567c+'].manifest';if(_0x13a85a['startsWith']('$.'))return _0x37e122(0x14a)+_0x29567c+_0x37e122(0x16b)+_0x13a85a['slice'](0x1);if(_0x13a85a[_0x37e122(0x138)]('$['))return'$.services['+_0x29567c+_0x37e122(0x16b)+_0x13a85a[_0x37e122(0x141)](0x1);return'$.services['+_0x29567c+_0x37e122(0x169)+_0x13a85a;}function isServiceRegistryLike(_0x5c2a92){const _0x59c5c5=a63_0x42e8ec;return isObjectRecord(_0x5c2a92)&&_0x5c2a92[_0x59c5c5(0x14e)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array['isArray'](_0x5c2a92['services']);}function isObjectRecord(_0x1edf44){const _0x303400=a63_0x42e8ec;return Boolean(_0x1edf44)&&typeof _0x1edf44===_0x303400(0x185)&&!Array[_0x303400(0x188)](_0x1edf44);}function emptyServiceRegistryInspection(_0x3fec1a,_0x554389,_0x2fd6d8){return{'registryPath':_0x3fec1a,'exists':_0x2fd6d8,'status':_0x554389,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function a63_0x1fcc(){const _0x492f32=['empty','errors','report','target','CliError','ENOENT','sort','registryIndex','object','splice','name','isArray','1139118sKBScx','description','invalid','hex','serviceCode','4yIxgyA','startsWith','parse','version','homeDir','4815WgSfBy','manifest','registry','trim','validation','slice','service','13900ZcmGNV','updatedAt','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','99852NNUGyV','update','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','service.json','$.services[','toISOString','Remove\x20or\x20migrate\x20','push','schemaVersion','16MHzbam','1731222tekqVZ','sha256','map','sourceHash','Invalid\x20service\x20registry\x20JSON:\x20','flatMap','source','stringify','warnings','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','Service\x20manifest\x20file\x20not\x20found:\x20','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','30372zRcndC','bff\x20target\x20requires\x20bffCode,\x20bffId,\x20or\x20scriptName.','services','Unsupported\x20service\x20registry\x20schemaVersion:\x20','localeCompare','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','find','2255930teOdHm','command','Local\x20service\x20not\x20found:\x20','filePath','manifests','missing','].manifest.','digest','].manifest','now','cliPath','.tmp','Cannot\x20write\x20service\x20registry:\x20','join','risk','message','kind','normalizedManifest','commandCount','2140285rTaREw','findIndex','reduce','path','Unsupported\x20schemaVersion:\x20','utf8','length'];a63_0x1fcc=function(){return _0x492f32;};return a63_0x1fcc();}function summarizeLocalServiceEntry(_0x4b3898){const _0x1d8bb2=a63_0x42e8ec,_0x3894e6=_0x4b3898['normalizedManifest'],_0x2eeaf6=_0x3894e6['commands'][_0x1d8bb2(0x152)](_0x628931=>({'path':_0x628931[_0x1d8bb2(0x16d)],'description':_0x628931[_0x1d8bb2(0x133)],'risk':_0x628931[_0x1d8bb2(0x171)],'targetKind':_0x628931[_0x1d8bb2(0x180)][_0x1d8bb2(0x173)],'targetCommand':_0x628931[_0x1d8bb2(0x180)][_0x1d8bb2(0x164)]}));return{'serviceCode':_0x4b3898[_0x1d8bb2(0x136)],'name':_0x3894e6[_0x1d8bb2(0x142)][_0x1d8bb2(0x187)],'description':_0x3894e6[_0x1d8bb2(0x142)][_0x1d8bb2(0x133)],'version':_0x4b3898[_0x1d8bb2(0x13a)],'importedAt':_0x4b3898['importedAt'],'source':_0x4b3898[_0x1d8bb2(0x156)],'commandCount':_0x2eeaf6['length'],'commands':_0x2eeaf6};}function sha256(_0xfd6720){const _0x1c7659=a63_0x42e8ec;return createHash(_0x1c7659(0x151))[_0x1c7659(0x147)](_0xfd6720)[_0x1c7659(0x16a)](_0x1c7659(0x135));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a64_0x167c55=a64_0xa024;function a64_0x5c2f(){const _0x139817=['type','rendered','skillDir','5QJnHeW','isSymbolicLink','1580666FZppal','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','8OFJDbO','skill','target','1515330zAXajT','skillName','53496qscscR','Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20','1356tcqNZi','force','isDirectory','131065ZDsYDd','1hiadpr','1553044TypaHd','files','path','name','trim','validation','str','map','2634918ZTJqOm','Created\x20local\x20Skill\x20draft\x20','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','read','bool','WRITE','content','Refusing\x20to\x20overwrite\x20symlink:\x20','14okJmZO','11813810ySvOcP'];a64_0x5c2f=function(){return _0x139817;};return a64_0x5c2f();}(function(_0x5f03e6,_0x39469b){const _0x9865aa=a64_0xa024,_0x88d437=_0x5f03e6();while(!![]){try{const _0x189c9e=parseInt(_0x9865aa(0x167))/0x1*(parseInt(_0x9865aa(0x17f))/0x2)+parseInt(_0x9865aa(0x170))/0x3+parseInt(_0x9865aa(0x168))/0x4*(-parseInt(_0x9865aa(0x17d))/0x5)+-parseInt(_0x9865aa(0x15f))/0x6*(parseInt(_0x9865aa(0x178))/0x7)+parseInt(_0x9865aa(0x15c))/0x8*(parseInt(_0x9865aa(0x161))/0x9)+parseInt(_0x9865aa(0x179))/0xa+-parseInt(_0x9865aa(0x166))/0xb*(parseInt(_0x9865aa(0x163))/0xc);if(_0x189c9e===_0x39469b)break;else _0x88d437['push'](_0x88d437['shift']());}catch(_0x4cf585){_0x88d437['push'](_0x88d437['shift']());}}}(a64_0x5c2f,0x96706));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';function a64_0xa024(_0x3df056,_0x2907bf){_0x3df056=_0x3df056-0x15b;const _0x5c2f56=a64_0x5c2f();let _0xa024ac=_0x5c2f56[_0x3df056];return _0xa024ac;}export const createCommand={'service':a64_0x167c55(0x15d),'command':'create','description':'Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','risk':a64_0x167c55(0x173),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x37d824){const _0xbac7b2=a64_0x167c55,_0x4e3051=buildSkillCreatePlan(_0x37d824[_0xbac7b2(0x16e)](_0xbac7b2(0x16b)),_0x37d824[_0xbac7b2(0x16e)]('type'),_0x37d824[_0xbac7b2(0x16e)](_0xbac7b2(0x15e)));return{'method':_0xbac7b2(0x175),'url':_0x4e3051[_0xbac7b2(0x17c)],'body':{'skillName':_0x4e3051[_0xbac7b2(0x17b)][_0xbac7b2(0x160)],'type':_0x4e3051[_0xbac7b2(0x17b)][_0xbac7b2(0x17a)],'selfContained':!![],'files':_0x4e3051[_0xbac7b2(0x17b)][_0xbac7b2(0x169)][_0xbac7b2(0x16f)](_0x23c67c=>_0x23c67c[_0xbac7b2(0x16a)])},'description':_0xbac7b2(0x172)};},async 'execute'(_0x56899e){const _0x5d3e81=a64_0x167c55,_0xfd5718=buildSkillCreatePlan(_0x56899e[_0x5d3e81(0x16e)]('name'),_0x56899e['str'](_0x5d3e81(0x17a)),_0x56899e['str'](_0x5d3e81(0x15e)));return writeSkillDraft(_0xfd5718,_0x56899e[_0x5d3e81(0x174)](_0x5d3e81(0x164))),{'ok':!![],'data':{'skillName':_0xfd5718[_0x5d3e81(0x17b)][_0x5d3e81(0x160)],'type':_0xfd5718['rendered'][_0x5d3e81(0x17a)],'dir':_0xfd5718[_0x5d3e81(0x17c)],'files':_0xfd5718[_0x5d3e81(0x17b)][_0x5d3e81(0x169)][_0x5d3e81(0x16f)](_0x16aa0d=>_0x16aa0d['path'])},'message':_0x5d3e81(0x171)+_0xfd5718['rendered'][_0x5d3e81(0x160)]};}};function buildSkillCreatePlan(_0x1496d0,_0x5492bf,_0x4fb2d8){const _0x179c5b=a64_0x167c55,_0xef46d1=_0x5492bf[_0x179c5b(0x16c)](),_0x1da955=renderSkillTemplate({'skillName':_0x1496d0,'type':_0xef46d1});!_0xef46d1&&writeCliSideChannelLine('Omitting\x20--type\x20is\x20deprecated;\x20defaulting\x20to\x20write\x20for\x20compatibility.\x20Pass\x20--type\x20read\x20or\x20--type\x20write\x20explicitly.');const _0x1075b8=resolve(normalizeSkillTarget(_0x4fb2d8));return{'rendered':_0x1da955,'targetRoot':_0x1075b8,'skillDir':resolve(_0x1075b8,_0x1da955['skillName'])};}function normalizeSkillTarget(_0x1d2da5){const _0x3ef0dc=a64_0x167c55;return(_0x1d2da5||DEFAULT_SKILL_TARGET)[_0x3ef0dc(0x16c)]()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x2914d5,_0x5d5990){const _0x2f1097=a64_0x167c55;if(existsSync(_0x2914d5[_0x2f1097(0x17c)])){const _0x52ea9f=lstatSync(_0x2914d5[_0x2f1097(0x17c)]);if(!_0x52ea9f[_0x2f1097(0x165)]()||_0x52ea9f[_0x2f1097(0x17e)]())throw CliErrors[_0x2f1097(0x16d)](_0x2f1097(0x162)+_0x2914d5[_0x2f1097(0x17c)]);if(!_0x5d5990)throw CliErrors['validation']('Skill\x20directory\x20already\x20exists:\x20'+_0x2914d5[_0x2f1097(0x17c)],_0x2f1097(0x15b));}for(const _0x26fe33 of _0x2914d5['rendered']['files']){const _0x4ea0b5=resolve(_0x2914d5[_0x2f1097(0x17c)],_0x26fe33[_0x2f1097(0x16a)]),_0x2f8ef3=dirname(_0x4ea0b5);mkdirSync(_0x2f8ef3,{'recursive':!![]});if(existsSync(_0x4ea0b5)&&lstatSync(_0x4ea0b5)[_0x2f1097(0x17e)]())throw CliErrors[_0x2f1097(0x16d)](_0x2f1097(0x177)+_0x4ea0b5);writeFileSync(_0x4ea0b5,_0x26fe33[_0x2f1097(0x176)],'utf8');}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a65_0x5cb08d=a65_0x6f47;(function(_0xba1190,_0x39d64f){const _0x1ad7c3=a65_0x6f47,_0x45b5ab=_0xba1190();while(!![]){try{const _0x1e44a5=parseInt(_0x1ad7c3(0xa5))/0x1*(-parseInt(_0x1ad7c3(0xa0))/0x2)+-parseInt(_0x1ad7c3(0xb9))/0x3+-parseInt(_0x1ad7c3(0xaa))/0x4*(parseInt(_0x1ad7c3(0xb6))/0x5)+-parseInt(_0x1ad7c3(0xab))/0x6*(-parseInt(_0x1ad7c3(0xcd))/0x7)+parseInt(_0x1ad7c3(0xc5))/0x8*(parseInt(_0x1ad7c3(0xc6))/0x9)+parseInt(_0x1ad7c3(0xcb))/0xa*(parseInt(_0x1ad7c3(0xa3))/0xb)+parseInt(_0x1ad7c3(0xbc))/0xc*(parseInt(_0x1ad7c3(0xae))/0xd);if(_0x1e44a5===_0x39d64f)break;else _0x45b5ab['push'](_0x45b5ab['shift']());}catch(_0x28da83){_0x45b5ab['push'](_0x45b5ab['shift']());}}}(a65_0x58a1,0xc1e79));import{getRuntimeSkillVersionDiagram,putRuntimeSkillVersionDiagram,validateRuntimeSkillVersionDiagram}from'../../../core/api-client.js';import{CliErrors}from'../../../errors.js';function a65_0x6f47(_0x1af39f,_0x49ffac){_0x1af39f=_0x1af39f-0x9f;const _0x58a1d5=a65_0x58a1();let _0x6f4755=_0x58a1d5[_0x1af39f];return _0x6f4755;}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(_0x388dd8){const _0x5e5400=a65_0x6f47,_0x31b0b5=_0x388dd8['str']('skill-code')[_0x5e5400(0x9f)](),_0x53b538=_0x388dd8['str'](_0x5e5400(0xa2))[_0x5e5400(0x9f)](),_0x14c708=_0x388dd8[_0x5e5400(0xbe)]('scope');if(!_0x31b0b5||!_0x53b538||_0x14c708!==_0x5e5400(0xb2)&&_0x14c708!=='company')throw CliErrors[_0x5e5400(0xa9)](_0x5e5400(0xa1));return{'skillCode':_0x31b0b5,'version':_0x53b538,'scope':_0x14c708};}function a65_0x58a1(){const _0x34e2f2=['--skill-code,\x20--version,\x20and\x20--scope\x20personal|company\x20are\x20required.','version','11CfFuWJ','source-fingerprint','822839BLyDGe','expected-diagram-revision','scope','found','validation','564BWgAbn','1001094kTTRRJ','\x20is\x20unchanged.','Created','13SbsJPK','action','read','expectedDiagramRevision','personal','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.','Found\x20Skill\x20diagram\x20for\x20','Validate\x20a\x20Mermaid\x20diagram\x20replacement\x20for\x20one\x20exact\x20Skill\x20version','33740wjrXRs','--expected-diagram-revision\x20must\x20be\x20a\x20non-negative\x20integer.','\x20Skill\x20diagram\x20for\x20','663420bBBImw','created','diagram-show','179508gNKhdh','Updated','str','write','Show\x20the\x20current\x20Mermaid\x20diagram\x20for\x20one\x20exact\x20Skill\x20version','test','isInteger','diagram-file','Create\x20or\x20replace\x20a\x20Mermaid\x20diagram\x20for\x20a\x20specific\x20Skill\x20version','42448RdqWpy','1017LdoEim','skillCode','No\x20Skill\x20diagram\x20is\x20stored\x20for\x20','appCode','diagram-validate','6735020iNnbUr','diagram-push','63BcHCxZ','skill','trim','2DceMyc'];a65_0x58a1=function(){return _0x34e2f2;};return a65_0x58a1();}async function readDiagramWriteInput(_0x380027){const _0x15bb7b=a65_0x6f47,_0x2452aa=_0x380027['num'](_0x15bb7b(0xa6)),_0x319b51=_0x380027[_0x15bb7b(0xbe)](_0x15bb7b(0xa4))['trim']();if(!Number[_0x15bb7b(0xc2)](_0x2452aa)||_0x2452aa<0x0)throw CliErrors['validation'](_0x15bb7b(0xb7));if(!/^sha256:[0-9a-f]{64}$/[_0x15bb7b(0xc1)](_0x319b51))throw CliErrors[_0x15bb7b(0xa9)]('--source-fingerprint\x20must\x20be\x20lowercase\x20sha256:<64\x20hex\x20characters>.');return{'expectedDiagramRevision':_0x2452aa,'sourceFingerprint':_0x319b51,'diagram':await readRequiredSkillDiagram(_0x380027[_0x15bb7b(0xbe)](_0x15bb7b(0xc3)))};}export const diagramValidateCommand={'service':a65_0x5cb08d(0xce),'command':a65_0x5cb08d(0xca),'description':a65_0x5cb08d(0xb5),'risk':a65_0x5cb08d(0xb0),'flags':WRITE_FLAGS,async 'execute'(_0x30361a){const _0x23bfea=a65_0x5cb08d,_0xf844f8=readDiagramTarget(_0x30361a),_0x233c64=await validateRuntimeSkillVersionDiagram(_0x30361a[_0x23bfea(0xc9)],_0xf844f8['skillCode'],_0xf844f8[_0x23bfea(0xa2)],_0xf844f8[_0x23bfea(0xa7)],await readDiagramWriteInput(_0x30361a));return{'ok':!![],'data':_0x233c64,'message':'Skill\x20diagram\x20validation\x20passed\x20for\x20'+_0xf844f8['skillCode']+'@'+_0xf844f8['version']+'.'};}};export const diagramPushCommand={'service':a65_0x5cb08d(0xce),'command':a65_0x5cb08d(0xcc),'description':a65_0x5cb08d(0xc4),'risk':a65_0x5cb08d(0xbf),'confirmationDescription':a65_0x5cb08d(0xb3),'flags':WRITE_FLAGS,async 'execute'(_0x465cc6){const _0x5b979d=a65_0x5cb08d,_0x9e8f5a=readDiagramTarget(_0x465cc6),_0x335c34=await putRuntimeSkillVersionDiagram(_0x465cc6['appCode'],_0x9e8f5a[_0x5b979d(0xc7)],_0x9e8f5a[_0x5b979d(0xa2)],_0x9e8f5a[_0x5b979d(0xa7)],await readDiagramWriteInput(_0x465cc6));return{'ok':!![],'data':_0x335c34,'message':_0x335c34[_0x5b979d(0xaf)]==='unchanged'?'Skill\x20diagram\x20for\x20'+_0x9e8f5a[_0x5b979d(0xc7)]+'@'+_0x9e8f5a[_0x5b979d(0xa2)]+_0x5b979d(0xac):(_0x335c34[_0x5b979d(0xaf)]===_0x5b979d(0xba)?_0x5b979d(0xad):_0x5b979d(0xbd))+_0x5b979d(0xb8)+_0x9e8f5a[_0x5b979d(0xc7)]+'@'+_0x9e8f5a['version']+'.'};}};export const diagramShowCommand={'service':a65_0x5cb08d(0xce),'command':a65_0x5cb08d(0xbb),'description':a65_0x5cb08d(0xc0),'risk':a65_0x5cb08d(0xb0),'flags':TARGET_FLAGS,async 'execute'(_0x2e891b){const _0x49875f=a65_0x5cb08d,_0x31ac24=readDiagramTarget(_0x2e891b),_0x331a30=await getRuntimeSkillVersionDiagram(_0x2e891b[_0x49875f(0xc9)],_0x31ac24['skillCode'],_0x31ac24[_0x49875f(0xa2)],_0x31ac24[_0x49875f(0xa7)]);return{'ok':!![],'data':_0x331a30,'message':_0x331a30[_0x49875f(0xa8)]?_0x49875f(0xb4)+_0x31ac24[_0x49875f(0xc7)]+'@'+_0x31ac24[_0x49875f(0xa2)]+';\x20next\x20write\x20expects\x20revision\x20'+_0x331a30['expectedDiagramRevision']+'.':_0x49875f(0xc8)+_0x31ac24['skillCode']+'@'+_0x31ac24[_0x49875f(0xa2)]+';\x20first\x20write\x20expects\x20revision\x20'+_0x331a30[_0x49875f(0xb1)]+'.'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a66_0x274bab=a66_0x1272;function a66_0xe61a(){const _0x27aa40=['Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','accessKey','skillRoots','removed','appCode','all','925611Ywlnpw','100bmHLDm','62960jdMRGk','skillCode','../../../skills/runtime-skill-sync.js','force','global','company','1894UzHBKl','\x20personal\x20and\x20','str','updated','length','map','1202299mSGsZL','min','envName','from','2615391vwHxKv','created','590604slgZpP','bool','filter','unchanged','version','201381IDPNDW','project','action','\x20company\x20Skill(s).','trim','production','code','scope','includes','Installed\x20','10eUkFUe','8VqStfh','personal','skipped'];a66_0xe61a=function(){return _0x27aa40;};return a66_0xe61a();}(function(_0x1d25cb,_0x55745d){const _0x1acf05=a66_0x1272,_0x4c3194=_0x1d25cb();while(!![]){try{const _0x4e38d5=parseInt(_0x1acf05(0x1d3))/0x1+-parseInt(_0x1acf05(0x1c2))/0x2+parseInt(_0x1acf05(0x1ba))/0x3+parseInt(_0x1acf05(0x1bb))/0x4*(-parseInt(_0x1acf05(0x1bc))/0x5)+parseInt(_0x1acf05(0x1ce))/0x6+parseInt(_0x1acf05(0x1c8))/0x7*(parseInt(_0x1acf05(0x1b1))/0x8)+-parseInt(_0x1acf05(0x1cc))/0x9*(parseInt(_0x1acf05(0x1b0))/0xa);if(_0x4e38d5===_0x55745d)break;else _0x4c3194['push'](_0x4c3194['shift']());}catch(_0x3b96b6){_0x4c3194['push'](_0x4c3194['shift']());}}}(a66_0xe61a,0x2a6c3));import{CliErrors}from'../../../errors.js';import{CODE_FLAG,FORCE_FLAG,PROJECT_TARGET_FLAG,SCOPE_FLAG}from'../flags.js';import{normalizeSyncScopes}from'../scopes.js';import{summarizeRuntimeSkill}from'../summary.js';function a66_0x1272(_0x2e0377,_0x24b54b){_0x2e0377=_0x2e0377-0x1ad;const _0xe61acf=a66_0xe61a();let _0x127285=_0xe61acf[_0x2e0377];return _0x127285;}const PACKAGE_DOWNLOAD_CONCURRENCY=0x4;export const installCommand={'service':'skill','command':'install','description':a66_0x274bab(0x1b4),'risk':'read','requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG,FORCE_FLAG,PROJECT_TARGET_FLAG],async 'execute'(_0x5ae193){return syncRuntimeSkills(_0x5ae193);}};async function syncRuntimeSkills(_0x24738b){const _0x42bff2=a66_0x274bab,{downloadRuntimeSkillPackage:_0x588192,listRuntimeSkills:_0x37c06e}=await import('../../../core/api-client.js'),{linkEffectiveRuntimeSkills:_0x3e0ecf,materializeRuntimeSkill:_0x104bbd,pruneStaleRuntimeSkillCache:_0x41ee87,pruneStaleRuntimeSkillLinks:_0x337f9b,resolveRuntimeSkillInstallTarget:_0x36c089,reuseMaterializedRuntimeSkill:_0xfe391f}=await import(_0x42bff2(0x1be)),_0x641314=_0x24738b[_0x42bff2(0x1c4)](_0x42bff2(0x1d9)),_0x1ce851=normalizeSyncScopes(_0x24738b[_0x42bff2(0x1c4)](_0x42bff2(0x1ad))),_0x2cb706=_0x24738b[_0x42bff2(0x1ca)]??_0x42bff2(0x1d8),_0x52ebbf=_0x24738b[_0x42bff2(0x1b5)],_0x419b7b=_0x24738b[_0x42bff2(0x1cf)](_0x42bff2(0x1bf));if(!_0x52ebbf)throw CliErrors['authRequired']('Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.');const _0x5acdd3=_0x36c089(_0x24738b[_0x42bff2(0x1b8)],_0x24738b['bool']('project')?_0x42bff2(0x1d4):_0x42bff2(0x1c0)),_0x52c87a=_0x36c089(_0x24738b[_0x42bff2(0x1b8)],_0x5acdd3['scope']===_0x42bff2(0x1d4)?_0x42bff2(0x1c0):_0x42bff2(0x1d4)),_0x53db09=await _0x37c06e({'appCode':_0x24738b[_0x42bff2(0x1b8)],'scope':_0x1ce851[_0x42bff2(0x1c6)]===0x1?_0x1ce851[0x0]:_0x42bff2(0x1b9),'code':_0x641314['trim']()||undefined}),_0x240566=_0x1ce851[_0x42bff2(0x1ae)](_0x42bff2(0x1b2))?_0x53db09[_0x42bff2(0x1b2)]:[],_0x3cbae2=_0x1ce851[_0x42bff2(0x1ae)]('company')?_0x53db09[_0x42bff2(0x1c1)]:[],_0xf132f9=new Set([..._0x240566[_0x42bff2(0x1c7)](_0x56fb67=>_0x56fb67[_0x42bff2(0x1bd)]?.[_0x42bff2(0x1d7)]())[_0x42bff2(0x1d0)](_0xbe16c2=>Boolean(_0xbe16c2)),..._0x3cbae2[_0x42bff2(0x1c7)](_0x2d457a=>_0x2d457a[_0x42bff2(0x1bd)]?.['trim']())[_0x42bff2(0x1d0)](_0x4ef5fb=>Boolean(_0x4ef5fb))]),_0x44006a=_0x641314[_0x42bff2(0x1d7)]()?[_0x641314[_0x42bff2(0x1d7)]()]:undefined,_0x3704fa=_0x1ce851['length']===0x2&&_0x1ce851[_0x42bff2(0x1ae)]('personal')&&_0x1ce851[_0x42bff2(0x1ae)](_0x42bff2(0x1c1)),_0x5d9fbb=_0x3704fa?_0x337f9b(_0x5acdd3,_0xf132f9,_0x44006a):[],_0x122ac2=_0x41ee87({'env':_0x2cb706,'accessKey':_0x52ebbf,'appCode':_0x24738b[_0x42bff2(0x1b8)],'activeSkillCodes':_0xf132f9,'pruneSkillCodes':_0x44006a,'scopes':_0x1ce851,'protectedLinkRoots':_0x52c87a[_0x42bff2(0x1b6)]}),_0x95136d=[..._0x240566[_0x42bff2(0x1c7)](_0xe87bb1=>({'skill':_0xe87bb1,'scope':_0x42bff2(0x1b2)})),..._0x3cbae2[_0x42bff2(0x1c7)](_0x1c2aad=>({'skill':_0x1c2aad,'scope':_0x42bff2(0x1c1)}))],_0x17914d=await mapConcurrent(_0x95136d,PACKAGE_DOWNLOAD_CONCURRENCY,async({skill:_0x1d7980,scope:_0x2e5731})=>{const _0x171e14=_0x42bff2,_0x634a5d=_0xfe391f(_0x1d7980,_0x2e5731,{'env':_0x2cb706,'accessKey':_0x52ebbf,'appCode':_0x24738b[_0x171e14(0x1b8)]});if(_0x634a5d)return _0x634a5d;return _0x104bbd(_0x1d7980,_0x2e5731,{'env':_0x2cb706,'accessKey':_0x52ebbf,'appCode':_0x24738b[_0x171e14(0x1b8)],'force':_0x419b7b,'packageBytes':await downloadSkillPackage(_0x1d7980,_0x2e5731,_0x24738b[_0x171e14(0x1b8)],_0x588192)});}),_0x1b3014=_0x3e0ecf(_0x17914d,_0x5acdd3),_0x4d18ac=countLinkActions(_0x1b3014);return{'ok':!![],'data':{'appCode':_0x24738b[_0x42bff2(0x1b8)],..._0x5acdd3[_0x42bff2(0x1ad)]===_0x42bff2(0x1d4)?{'installTarget':{'scope':_0x5acdd3[_0x42bff2(0x1ad)],'skillRoots':[..._0x5acdd3[_0x42bff2(0x1b6)]]}}:{},'personal':_0x240566[_0x42bff2(0x1c6)],'company':_0x3cbae2[_0x42bff2(0x1c6)],'materialized':_0x17914d[_0x42bff2(0x1c6)],'links':{'total':_0x1b3014[_0x42bff2(0x1c6)],'created':_0x4d18ac[_0x42bff2(0x1cd)]??0x0,'updated':_0x4d18ac[_0x42bff2(0x1c5)]??0x0,'unchanged':_0x4d18ac[_0x42bff2(0x1d1)]??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x5d9fbb['filter'](_0x2211a5=>_0x2211a5[_0x42bff2(0x1d5)]==='removed')[_0x42bff2(0x1c6)],'cacheDirs':_0x122ac2[_0x42bff2(0x1d0)](_0x582e68=>_0x582e68[_0x42bff2(0x1d5)]===_0x42bff2(0x1b7))[_0x42bff2(0x1c6)],'skipped':[..._0x5d9fbb,..._0x122ac2][_0x42bff2(0x1d0)](_0x3758e8=>_0x3758e8[_0x42bff2(0x1d5)]===_0x42bff2(0x1b3))['length']},'skills':{'personal':_0x240566[_0x42bff2(0x1c7)](summarizeRuntimeSkill),'company':_0x3cbae2[_0x42bff2(0x1c7)](summarizeRuntimeSkill)}},'message':_0x42bff2(0x1af)+_0x240566[_0x42bff2(0x1c6)]+_0x42bff2(0x1c3)+_0x3cbae2[_0x42bff2(0x1c6)]+_0x42bff2(0x1d6)};}async function mapConcurrent(_0x5778dc,_0xa81213,_0x416bec){const _0x5a7b12=a66_0x274bab,_0x1bc5da=new Array(_0x5778dc[_0x5a7b12(0x1c6)]);let _0x4b345f=0x0;const _0x113d81=Array[_0x5a7b12(0x1cb)]({'length':Math[_0x5a7b12(0x1c9)](_0xa81213,_0x5778dc[_0x5a7b12(0x1c6)])},async()=>{const _0x12f190=_0x5a7b12;while(_0x4b345f<_0x5778dc[_0x12f190(0x1c6)]){const _0x3a8154=_0x4b345f;_0x4b345f+=0x1,_0x1bc5da[_0x3a8154]=await _0x416bec(_0x5778dc[_0x3a8154]);}});return await Promise[_0x5a7b12(0x1b9)](_0x113d81),_0x1bc5da;}async function downloadSkillPackage(_0x607dbf,_0x356f2b,_0x106b91,_0x17deb3){const _0x4f6712=a66_0x274bab,_0x59d512=_0x607dbf[_0x4f6712(0x1d2)]?.[_0x4f6712(0x1d7)]();return _0x59d512?_0x17deb3(_0x356f2b,_0x607dbf['skillCode'],_0x106b91,_0x59d512):_0x17deb3(_0x356f2b,_0x607dbf[_0x4f6712(0x1bd)],_0x106b91);}function countLinkActions(_0x380c96){return _0x380c96['reduce']((_0x327e10,_0x47ec49)=>{const _0x1dc6eb=a66_0x1272;return _0x327e10[_0x47ec49[_0x1dc6eb(0x1d5)]]=(_0x327e10[_0x47ec49[_0x1dc6eb(0x1d5)]]??0x0)+0x1,_0x327e10;},{});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a67_0x4acc47=a67_0x2929;(function(_0x49942f,_0x3b3ba2){const _0x55a539=a67_0x2929,_0x50241e=_0x49942f();while(!![]){try{const _0x33108b=parseInt(_0x55a539(0x1f0))/0x1*(parseInt(_0x55a539(0x1fd))/0x2)+parseInt(_0x55a539(0x1f2))/0x3+parseInt(_0x55a539(0x1fa))/0x4*(-parseInt(_0x55a539(0x1fb))/0x5)+-parseInt(_0x55a539(0x1e7))/0x6*(parseInt(_0x55a539(0x1ea))/0x7)+parseInt(_0x55a539(0x1f8))/0x8+parseInt(_0x55a539(0x1e3))/0x9+-parseInt(_0x55a539(0x1f6))/0xa;if(_0x33108b===_0x3b3ba2)break;else _0x50241e['push'](_0x50241e['shift']());}catch(_0x4ebb9f){_0x50241e['push'](_0x50241e['shift']());}}}(a67_0x4f50,0xcb889));function a67_0x4f50(){const _0x13276=['List\x20runtime\x20Skills\x20from\x20remote\x20or\x20CLI-managed\x20local\x20cache','Listed\x20','31296dZEnHJ','filter','envName','1036fDXbma','scope','list','\x20local\x20Skill(s).','length','project','987dxxIlt','map','250980XmtkbB','company','local','personal','2897750PuguWv','global','5503328DJnwIc','appCode','116IgMyYm','122435kpiCnL','builtin','2388FEjgGF','str','../../../core/api-client.js','read','code','skill','bool','\x20remote\x20Skill(s).','5899365qTnEXs','authRequired'];a67_0x4f50=function(){return _0x13276;};return a67_0x4f50();}import{CliErrors}from'../../../errors.js';function a67_0x2929(_0x43c24b,_0x3be704){_0x43c24b=_0x43c24b-0x1dd;const _0x4f5006=a67_0x4f50();let _0x292943=_0x4f5006[_0x43c24b];return _0x292943;}import{CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG,PROJECT_TARGET_FLAG}from'../flags.js';import{listScopeToRemoteScope,listScopeToRuntimeScopes,normalizeListScope,shouldListScope}from'../scopes.js';import{summarizeLocalRuntimeSkill,summarizeRuntimeSkill}from'../summary.js';export const listCommand={'service':a67_0x4acc47(0x1e0),'command':a67_0x4acc47(0x1ec),'description':a67_0x4acc47(0x1e5),'risk':a67_0x4acc47(0x1de),'flags':[CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG,PROJECT_TARGET_FLAG],async 'execute'(_0x1097c1){const _0xe65f93=a67_0x4acc47,_0x3d739a=_0x1097c1[_0xe65f93(0x1fe)](_0xe65f93(0x1df)),_0x247bd6=normalizeListScope(_0x1097c1[_0xe65f93(0x1fe)]('scope'));if(_0x1097c1[_0xe65f93(0x1e1)](_0xe65f93(0x1f4))){const _0x144ec8=_0x1097c1['accessKey'];if(!_0x144ec8)throw CliErrors[_0xe65f93(0x1e4)]();const {listLocalRuntimeSkills:_0x113bb0,resolveRuntimeSkillInstallTarget:_0x5e99d1}=await import('../../../skills/runtime-skill-sync.js'),_0x50d363=_0x5e99d1(_0x1097c1[_0xe65f93(0x1f9)],_0x1097c1['bool'](_0xe65f93(0x1ef))?_0xe65f93(0x1ef):_0xe65f93(0x1f7)),_0xea222d=_0x113bb0({'env':_0x1097c1[_0xe65f93(0x1e9)]??'production','accessKey':_0x144ec8,'appCode':_0x1097c1['appCode'],'scopes':listScopeToRuntimeScopes(_0x247bd6),'code':_0x3d739a['trim']()||undefined},_0x50d363),_0x2e0091=groupLocalRuntimeSkills(_0xea222d);return{'ok':!![],'data':{'appCode':_0x1097c1['appCode'],'source':_0xe65f93(0x1f4),..._0x50d363[_0xe65f93(0x1eb)]===_0xe65f93(0x1ef)?{'installScope':_0x50d363['scope']}:{},'scope':_0x247bd6,'total':_0xea222d[_0xe65f93(0x1ee)],'personal':_0x2e0091[_0xe65f93(0x1f5)]['length'],'company':_0x2e0091[_0xe65f93(0x1f3)][_0xe65f93(0x1ee)],'items':_0xea222d[_0xe65f93(0x1f1)](summarizeLocalRuntimeSkill),'skills':{'personal':_0x2e0091[_0xe65f93(0x1f5)][_0xe65f93(0x1f1)](summarizeLocalRuntimeSkill),'company':_0x2e0091[_0xe65f93(0x1f3)][_0xe65f93(0x1f1)](summarizeLocalRuntimeSkill)}},'message':_0xe65f93(0x1e6)+_0xea222d[_0xe65f93(0x1ee)]+_0xe65f93(0x1ed)};}const {listRuntimeSkills:_0x59dc1c}=await import(_0xe65f93(0x1dd)),_0x31bc03=await _0x59dc1c({'appCode':_0x1097c1[_0xe65f93(0x1f9)],'scope':listScopeToRemoteScope(_0x247bd6),'code':_0x3d739a['trim']()||undefined}),_0x27f711=shouldListScope(_0x247bd6,_0xe65f93(0x1f5))?_0x31bc03[_0xe65f93(0x1f5)]??[]:[],_0xe1abf0=shouldListScope(_0x247bd6,_0xe65f93(0x1f3))?_0x31bc03[_0xe65f93(0x1f3)]??[]:[],_0x45caeb=[..._0x27f711,..._0xe1abf0];return{'ok':!![],'data':{'appCode':_0x1097c1[_0xe65f93(0x1f9)],'source':'remote','scope':_0x247bd6,'total':_0x45caeb[_0xe65f93(0x1ee)],'personal':_0x27f711[_0xe65f93(0x1ee)],'company':_0xe1abf0['length'],'items':_0x45caeb[_0xe65f93(0x1f1)](summarizeRuntimeSkill),'skills':{'personal':_0x27f711[_0xe65f93(0x1f1)](summarizeRuntimeSkill),'company':_0xe1abf0[_0xe65f93(0x1f1)](summarizeRuntimeSkill)}},'message':'Listed\x20'+_0x45caeb['length']+_0xe65f93(0x1e2)};}};function groupLocalRuntimeSkills(_0x2bf4c4){const _0x7c2ff8=a67_0x4acc47;return{'personal':_0x2bf4c4[_0x7c2ff8(0x1e8)](_0x5bb223=>_0x5bb223[_0x7c2ff8(0x1eb)]===_0x7c2ff8(0x1f5)),'company':_0x2bf4c4[_0x7c2ff8(0x1e8)](_0x350411=>_0x350411[_0x7c2ff8(0x1eb)]===_0x7c2ff8(0x1f3)),'builtin':_0x2bf4c4[_0x7c2ff8(0x1e8)](_0x26b777=>_0x26b777['scope']===_0x7c2ff8(0x1fc))};}
|