@lovrabet/lovrabet-cli 2.1.2 → 2.1.3

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.
Files changed (108) hide show
  1. package/lib/cli.js +1 -1
  2. package/lib/commands/api-doc/index.js +1 -1
  3. package/lib/commands/app/cache.js +1 -1
  4. package/lib/commands/app/definitions.js +1 -1
  5. package/lib/commands/app/eligibility.js +1 -1
  6. package/lib/commands/app/mock-loader.js +1 -1
  7. package/lib/commands/app/remote-source.js +1 -1
  8. package/lib/commands/app/shared.js +1 -1
  9. package/lib/commands/artifact/index.js +1 -1
  10. package/lib/commands/auth/index.js +1 -1
  11. package/lib/commands/auth/prompt.js +1 -1
  12. package/lib/commands/bff/detail.js +1 -1
  13. package/lib/commands/bff/exec.js +1 -1
  14. package/lib/commands/bff/index.js +1 -1
  15. package/lib/commands/cli-skill/index.js +1 -1
  16. package/lib/commands/common/config-policy.js +1 -1
  17. package/lib/commands/common/constraints.js +1 -1
  18. package/lib/commands/common/flags.js +1 -1
  19. package/lib/commands/config/definitions.js +1 -1
  20. package/lib/commands/config/shared.js +1 -1
  21. package/lib/commands/data/index.js +1 -1
  22. package/lib/commands/dataset/detail.js +1 -1
  23. package/lib/commands/dataset/index.js +1 -1
  24. package/lib/commands/dataset/list.js +1 -1
  25. package/lib/commands/dataset/sdk-doc.js +1 -1
  26. package/lib/commands/doctor.js +1 -1
  27. package/lib/commands/init.js +1 -1
  28. package/lib/commands/kb/index.js +1 -1
  29. package/lib/commands/logs/index.js +1 -1
  30. package/lib/commands/personal-bff/index.js +1 -1
  31. package/lib/commands/registry.js +1 -1
  32. package/lib/commands/schema.js +1 -1
  33. package/lib/commands/service/dynamic.js +1 -1
  34. package/lib/commands/service/index.js +1 -1
  35. package/lib/commands/service/registry.js +1 -1
  36. package/lib/commands/skill/commands/create.js +1 -0
  37. package/lib/commands/skill/commands/install.js +1 -0
  38. package/lib/commands/skill/commands/list.js +1 -0
  39. package/lib/commands/skill/commands/push.js +1 -0
  40. package/lib/commands/skill/commands/validate.js +1 -0
  41. package/lib/commands/skill/flags.js +1 -0
  42. package/lib/commands/skill/index.js +1 -1
  43. package/lib/commands/skill/manifest-helpers.js +1 -0
  44. package/lib/commands/skill/scopes.js +1 -0
  45. package/lib/commands/skill/summary.js +1 -0
  46. package/lib/commands/skill/templates.js +1 -1
  47. package/lib/commands/skill/validate.js +1 -1
  48. package/lib/commands/sql/detail.js +1 -1
  49. package/lib/commands/sql/exec.js +1 -1
  50. package/lib/commands/sql/index.js +1 -1
  51. package/lib/commands/update.js +1 -1
  52. package/lib/commands/workspace/index.js +1 -1
  53. package/lib/config/schema.js +1 -1
  54. package/lib/constant/app.js +1 -1
  55. package/lib/constant/auth-mode.js +1 -1
  56. package/lib/constant/cli.js +1 -1
  57. package/lib/constant/defaults.js +1 -1
  58. package/lib/constant/distribution.js +1 -1
  59. package/lib/constant/domain.js +1 -1
  60. package/lib/constant/env.js +1 -1
  61. package/lib/constant/output.js +1 -1
  62. package/lib/constant/product.js +1 -1
  63. package/lib/constant/risk.js +1 -1
  64. package/lib/constant/url.js +1 -1
  65. package/lib/context.js +1 -1
  66. package/lib/core/api-client.js +1 -1
  67. package/lib/core/db-resolver.js +1 -1
  68. package/lib/core/sdk-client.js +1 -1
  69. package/lib/errors.js +1 -1
  70. package/lib/framework/build-all-flags.js +1 -1
  71. package/lib/framework/dryrun.js +1 -1
  72. package/lib/framework/flags.js +1 -1
  73. package/lib/framework/help.js +1 -1
  74. package/lib/framework/index.js +1 -1
  75. package/lib/framework/output.js +1 -1
  76. package/lib/framework/preparse.js +1 -1
  77. package/lib/framework/response.js +1 -1
  78. package/lib/framework/runner-confirmation.js +1 -1
  79. package/lib/framework/runner-error.js +1 -1
  80. package/lib/framework/runner.js +1 -1
  81. package/lib/framework/schema-export.js +1 -1
  82. package/lib/framework/types.js +1 -1
  83. package/lib/generated/build-info.js +1 -1
  84. package/lib/help.js +1 -1
  85. package/lib/skills/npx-skills-add.js +1 -1
  86. package/lib/skills/runtime-skill-sync/constants.js +1 -0
  87. package/lib/skills/runtime-skill-sync/fs-utils.js +1 -0
  88. package/lib/skills/runtime-skill-sync/hashing.js +1 -0
  89. package/lib/skills/runtime-skill-sync/links.js +1 -0
  90. package/lib/skills/runtime-skill-sync/list-local.js +1 -0
  91. package/lib/skills/runtime-skill-sync/local-files.js +1 -0
  92. package/lib/skills/runtime-skill-sync/materialize.js +1 -0
  93. package/lib/skills/runtime-skill-sync/metadata.js +1 -0
  94. package/lib/skills/runtime-skill-sync/paths.js +1 -0
  95. package/lib/skills/runtime-skill-sync/push.js +1 -0
  96. package/lib/skills/runtime-skill-sync/scopes.js +1 -0
  97. package/lib/skills/runtime-skill-sync/types.js +1 -0
  98. package/lib/skills/runtime-skill-sync/zip-codec.js +1 -0
  99. package/lib/skills/runtime-skill-sync/zip-package.js +1 -0
  100. package/lib/skills/runtime-skill-sync.js +1 -1
  101. package/lib/utils/apply-jq-filter.js +1 -1
  102. package/lib/utils/logger.js +1 -1
  103. package/lib/utils/params.js +1 -1
  104. package/lib/utils/platform.js +1 -1
  105. package/lib/utils/update-notice.js +1 -1
  106. package/lib/utils/version.js +1 -1
  107. package/lib/utils/write-cli-side-channel.js +1 -1
  108. package/package.json +4 -1
@@ -1 +1 @@
1
- function a28_0x1819(_0x380d27,_0x4c2cc9){_0x380d27=_0x380d27-0x12a;const _0x11948=a28_0x1194();let _0x181986=_0x11948[_0x380d27];return _0x181986;}const a28_0x905a20=a28_0x1819;(function(_0x110916,_0x4bc426){const _0x397e9b=a28_0x1819,_0x11e255=_0x110916();while(!![]){try{const _0x518fe0=parseInt(_0x397e9b(0x149))/0x1*(-parseInt(_0x397e9b(0x13e))/0x2)+-parseInt(_0x397e9b(0x143))/0x3*(-parseInt(_0x397e9b(0x12a))/0x4)+parseInt(_0x397e9b(0x12d))/0x5*(parseInt(_0x397e9b(0x12e))/0x6)+-parseInt(_0x397e9b(0x140))/0x7*(parseInt(_0x397e9b(0x12c))/0x8)+-parseInt(_0x397e9b(0x136))/0x9*(parseInt(_0x397e9b(0x135))/0xa)+parseInt(_0x397e9b(0x141))/0xb+-parseInt(_0x397e9b(0x12b))/0xc;if(_0x518fe0===_0x4bc426)break;else _0x11e255['push'](_0x11e255['shift']());}catch(_0x1dc1f3){_0x11e255['push'](_0x11e255['shift']());}}}(a28_0x1194,0xee7f4));import{logger}from'../../utils/logger.js';import{CLI_DISPLAY_NAME}from'../../constant/cli.js';function printLogs(_0x41b26a){const _0x3ca899=a28_0x1819;if(_0x41b26a['length']===0x0){console[_0x3ca899(0x148)]('*\x20No\x20logs\x20found');return;}console['log']('*\x20'+CLI_DISPLAY_NAME+_0x3ca899(0x145)),_0x41b26a['forEach']((_0x30ed39,_0xc87c8b)=>{const _0x3eec55=_0x3ca899,_0x78a905=new Date(_0x30ed39[_0x3eec55(0x14a)])[_0x3eec55(0x146)](_0x3eec55(0x147)),_0x3fa321=_0x30ed39[_0x3eec55(0x13b)]===_0x3eec55(0x13d)?'√':_0x30ed39[_0x3eec55(0x13b)]===_0x3eec55(0x137)?'×':_0x30ed39['level']===_0x3eec55(0x138)?'!':'i';console[_0x3eec55(0x148)](_0xc87c8b+0x1+'.\x20'+_0x3fa321+'\x20['+_0x30ed39[_0x3eec55(0x14b)]+']\x20'+_0x30ed39[_0x3eec55(0x12f)]),console['log'](_0x3eec55(0x139)+_0x78a905),_0x30ed39[_0x3eec55(0x134)]&&console[_0x3eec55(0x148)]('\x20\x20\x20Duration:\x20'+_0x30ed39['duration']+'ms'),_0x30ed39[_0x3eec55(0x142)]&&Object['keys'](_0x30ed39[_0x3eec55(0x142)])[_0x3eec55(0x132)]>0x0&&console[_0x3eec55(0x148)](_0x3eec55(0x13a)+JSON[_0x3eec55(0x133)](_0x30ed39['details'],null,0x2)),console[_0x3eec55(0x148)]('');});}function a28_0x1194(){const _0x5aa3b1=['19163287bOUEJB','details','335319aJAABd','Clear\x20command\x20history\x20logs','\x20logs:\x0a','toLocaleString','en-US','log','118483DeYzJG','timestamp','command','*\x20Logs\x20cleared','16FrfALK','17842812UhIfjf','8LsZwIP','32005AkJsaJ','1314NPUXHd','message','write','logs','length','stringify','duration','58710eJuCfN','27twNjhq','error','warn','\x20\x20\x20Time:\x20','\x20\x20\x20Details:\x20','level','show','success','2SfdAww','read','6938029jKKQtx'];a28_0x1194=function(){return _0x5aa3b1;};return a28_0x1194();}export const logsDefinitions=[{'service':a28_0x905a20(0x131),'command':a28_0x905a20(0x13c),'description':'View\x20command\x20history\x20logs','risk':a28_0x905a20(0x13f),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x3dbf8b){return printLogs(logger['readLogs']()),{'ok':!![]};}},{'service':'logs','command':'clear','description':a28_0x905a20(0x144),'risk':a28_0x905a20(0x130),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x30f304){const _0x43e253=a28_0x905a20;return logger['clearLogs'](),console[_0x43e253(0x148)](_0x43e253(0x14c)),{'ok':!![]};}}];
1
+ const a28_0x17af08=a28_0x4c87;(function(_0x20f2b6,_0x4b1c4b){const _0x4a5f8e=a28_0x4c87,_0x3d3c86=_0x20f2b6();while(!![]){try{const _0x10dae2=-parseInt(_0x4a5f8e(0xa3))/0x1+-parseInt(_0x4a5f8e(0xa6))/0x2*(-parseInt(_0x4a5f8e(0xaf))/0x3)+-parseInt(_0x4a5f8e(0xa8))/0x4+parseInt(_0x4a5f8e(0xb0))/0x5*(parseInt(_0x4a5f8e(0xb2))/0x6)+-parseInt(_0x4a5f8e(0xc2))/0x7+-parseInt(_0x4a5f8e(0xbd))/0x8*(parseInt(_0x4a5f8e(0xac))/0x9)+parseInt(_0x4a5f8e(0xb1))/0xa;if(_0x10dae2===_0x4b1c4b)break;else _0x3d3c86['push'](_0x3d3c86['shift']());}catch(_0x1f4c27){_0x3d3c86['push'](_0x3d3c86['shift']());}}}(a28_0x5c89,0xe4b81));import{logger}from'../../utils/logger.js';import{CLI_DISPLAY_NAME}from'../../constant/cli.js';function a28_0x4c87(_0x568f36,_0x5cc636){_0x568f36=_0x568f36-0xa3;const _0x5c896d=a28_0x5c89();let _0x4c87ea=_0x5c896d[_0x568f36];return _0x4c87ea;}function printLogs(_0x13436b){const _0x21b8f1=a28_0x4c87;if(_0x13436b['length']===0x0){console[_0x21b8f1(0xa7)](_0x21b8f1(0xbc));return;}console[_0x21b8f1(0xa7)]('*\x20'+CLI_DISPLAY_NAME+_0x21b8f1(0xae)),_0x13436b['forEach']((_0x46a117,_0x40a3fe)=>{const _0x5f4c8b=_0x21b8f1,_0x56779d=new Date(_0x46a117[_0x5f4c8b(0xb6)])[_0x5f4c8b(0xba)](_0x5f4c8b(0xb5)),_0x23b02b=_0x46a117[_0x5f4c8b(0xa9)]===_0x5f4c8b(0xb4)?'√':_0x46a117[_0x5f4c8b(0xa9)]===_0x5f4c8b(0xc4)?'×':_0x46a117['level']===_0x5f4c8b(0xb7)?'!':'i';console[_0x5f4c8b(0xa7)](_0x40a3fe+0x1+'.\x20'+_0x23b02b+'\x20['+_0x46a117[_0x5f4c8b(0xa5)]+']\x20'+_0x46a117[_0x5f4c8b(0xaa)]),console[_0x5f4c8b(0xa7)](_0x5f4c8b(0xc3)+_0x56779d),_0x46a117[_0x5f4c8b(0xb8)]&&console[_0x5f4c8b(0xa7)](_0x5f4c8b(0xc0)+_0x46a117[_0x5f4c8b(0xb8)]+'ms'),_0x46a117['details']&&Object[_0x5f4c8b(0xbf)](_0x46a117[_0x5f4c8b(0xab)])['length']>0x0&&console[_0x5f4c8b(0xa7)](_0x5f4c8b(0xa4)+JSON[_0x5f4c8b(0xb9)](_0x46a117[_0x5f4c8b(0xab)],null,0x2)),console['log']('');});}function a28_0x5c89(){const _0x4c0c2a=['\x20logs:\x0a','9trCNKr','305pHiXZj','44141420qqpEPA','102192yCXzAC','View\x20command\x20history\x20logs','success','en-US','timestamp','warn','duration','stringify','toLocaleString','logs','*\x20No\x20logs\x20found','24KyMrtd','clearLogs','keys','\x20\x20\x20Duration:\x20','write','12886272uNFezB','\x20\x20\x20Time:\x20','error','Clear\x20command\x20history\x20logs','1389428cYoWbE','\x20\x20\x20Details:\x20','command','690158iWWCvX','log','6387140LEVjMs','level','message','details','2173167VMccYZ','readLogs'];a28_0x5c89=function(){return _0x4c0c2a;};return a28_0x5c89();}export const logsDefinitions=[{'service':a28_0x17af08(0xbb),'command':'show','description':a28_0x17af08(0xb3),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x3e9e85){const _0x4f95c3=a28_0x17af08;return printLogs(logger[_0x4f95c3(0xad)]()),{'ok':!![]};}},{'service':a28_0x17af08(0xbb),'command':'clear','description':a28_0x17af08(0xc5),'risk':a28_0x17af08(0xc1),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x1a38f9){const _0x46c693=a28_0x17af08;return logger[_0x46c693(0xbe)](),console['log']('*\x20Logs\x20cleared'),{'ok':!![]};}}];
@@ -1 +1 @@
1
- const a29_0x372486=a29_0x5a25;(function(_0x50e0bc,_0x239ae6){const _0xb7db34=a29_0x5a25,_0xcedacb=_0x50e0bc();while(!![]){try{const _0x450af8=parseInt(_0xb7db34(0x19c))/0x1+-parseInt(_0xb7db34(0x1a1))/0x2*(parseInt(_0xb7db34(0x1c3))/0x3)+parseInt(_0xb7db34(0x19d))/0x4*(parseInt(_0xb7db34(0x1c4))/0x5)+parseInt(_0xb7db34(0x1cc))/0x6*(parseInt(_0xb7db34(0x187))/0x7)+-parseInt(_0xb7db34(0x1aa))/0x8+parseInt(_0xb7db34(0x192))/0x9*(-parseInt(_0xb7db34(0x194))/0xa)+parseInt(_0xb7db34(0x1b0))/0xb;if(_0x450af8===_0x239ae6)break;else _0xcedacb['push'](_0xcedacb['shift']());}catch(_0x3fc4a1){_0xcedacb['push'](_0xcedacb['shift']());}}}(a29_0x3021,0x8881b));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalBff,executePersonalBff,getPersonalBff,listPersonalBffs,updatePersonalBff}from'../../core/api-client.js';import{ID_FLAG,PARAMS_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{parseJsonParams}from'../../utils/params.js';const FUNCTION_NAME_PATTERN=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,FILE_FLAG={'name':'file','type':'string','description':a29_0x372486(0x199)},FUNCTION_NAME_FLAG={'name':a29_0x372486(0x1a2),'type':a29_0x372486(0x195),'required':!![],'description':a29_0x372486(0x1a6)},DESCRIPTION_FLAG={'name':a29_0x372486(0x1a8),'type':a29_0x372486(0x195),'description':a29_0x372486(0x18f)},SOURCE_SESSION_FLAG={'name':a29_0x372486(0x191),'type':a29_0x372486(0x195),'description':a29_0x372486(0x18b)};function normalizeFunctionName(_0x4cdcf2){const _0x4fef4a=a29_0x372486,_0x2a5258=String(_0x4cdcf2||'')['trim']();if(!_0x2a5258||!FUNCTION_NAME_PATTERN[_0x4fef4a(0x1c9)](_0x2a5258))throw CliErrors[_0x4fef4a(0x18e)](_0x4fef4a(0x18c));return _0x2a5258;}function readScriptFile(_0x1dc0a4){const _0x3065ab=a29_0x372486;if(!_0x1dc0a4)throw CliErrors['validation'](_0x3065ab(0x1cb));if(!existsSync(_0x1dc0a4))throw CliErrors[_0x3065ab(0x18e)](_0x3065ab(0x190)+_0x1dc0a4);if(!statSync(_0x1dc0a4)[_0x3065ab(0x1c6)]())throw CliErrors[_0x3065ab(0x18e)](_0x3065ab(0x1c0)+_0x1dc0a4);const _0x12f31a=readFileSync(_0x1dc0a4,_0x3065ab(0x1b7));if(!_0x12f31a['trim']())throw CliErrors[_0x3065ab(0x18e)](_0x3065ab(0x19e));return _0x12f31a;}function optionalTrimmed(_0x12c53d){const _0x3f187c=a29_0x372486,_0x54b834=String(_0x12c53d||'')[_0x3f187c(0x196)]();return _0x54b834||undefined;}function a29_0x3021(){const _0x59c9e6=['description','POST','1705328ufKUZG','--params\x20must\x20be\x20a\x20JSON\x20object.','Create\x20a\x20personal\x20BFF\x20from\x20a\x20local\x20script\x20file','/update','Personal\x20BFF\x20script\x20ID','read','11647328ZYSBMy','params','exec','length','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','config','num','utf8','list','gmtCreate','scriptContent','file','Executed\x20personal\x20BFF\x20','scriptType','Created\x20personal\x20BFF\x20','isArray','File\x20is\x20not\x20a\x20regular\x20file:\x20','Execute\x20a\x20personal\x20BFF\x20by\x20id\x20with\x20optional\x20JSON\x20params','createTime','99543ihQfLI','2357865vJUWGl','version','isFile','bool','detail','test','Preview:\x20update\x20personal\x20BFF\x20','File\x20path\x20is\x20required.','246uxVIPO','build','Show\x20one\x20personal\x20BFF\x20by\x20id','write','create','86632xSQlyn','keys','functionName','body','Optional\x20source\x20RuntimeAgent\x20session\x20id','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','createUserId','validation','Personal\x20BFF\x20description','File\x20not\x20found:\x20','source-session-id','18WaFImD','personal-bff','4048120bZAwxF','string','trim','personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.','verbose','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','sourceSessionId','flag','506333CEvGtP','4RZPkOD','Personal\x20BFF\x20script\x20file\x20is\x20blank.','str','/client/runtime-bff/personal/','58rSlFqm','name','appCode','/client/runtime-bff/personal/create','gmtModified','Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders','updateTime'];a29_0x3021=function(){return _0x59c9e6;};return a29_0x3021();}function summarizeBff(_0x30416e){const _0x426976=a29_0x372486;return{'id':_0x30416e['id'],'appCode':_0x30416e['appCode'],'functionName':_0x30416e[_0x426976(0x189)],'description':_0x30416e[_0x426976(0x1a8)],'scriptType':_0x30416e[_0x426976(0x1bd)],'version':_0x30416e[_0x426976(0x1c5)],'gmtModified':_0x30416e[_0x426976(0x1a5)],'updateTime':_0x30416e[_0x426976(0x1a7)]};}function detailBff(_0x3db800){const _0x1e5843=a29_0x372486;return{'id':_0x3db800['id'],'appCode':_0x3db800[_0x1e5843(0x1a3)],'functionName':_0x3db800['functionName'],'description':_0x3db800[_0x1e5843(0x1a8)],'scriptType':_0x3db800[_0x1e5843(0x1bd)],'scriptContent':_0x3db800['scriptContent']??'','config':_0x3db800[_0x1e5843(0x1b5)],'version':_0x3db800[_0x1e5843(0x1c5)],'createUserId':_0x3db800[_0x1e5843(0x18d)],'gmtCreate':_0x3db800[_0x1e5843(0x1b9)],'gmtModified':_0x3db800['gmtModified'],'createTime':_0x3db800[_0x1e5843(0x1c2)],'updateTime':_0x3db800[_0x1e5843(0x1a7)]};}function buildCreateInput(_0x128d55){const _0xd66727=a29_0x372486;return{'functionName':normalizeFunctionName(_0x128d55[_0xd66727(0x19f)]('name')),...optionalTrimmed(_0x128d55[_0xd66727(0x19f)](_0xd66727(0x1a8)))?{'description':optionalTrimmed(_0x128d55[_0xd66727(0x19f)](_0xd66727(0x1a8)))}:{},'scriptContent':readScriptFile(_0x128d55[_0xd66727(0x19f)](_0xd66727(0x1bb))),...optionalTrimmed(_0x128d55['str'](_0xd66727(0x191)))?{'sourceSessionId':optionalTrimmed(_0x128d55['str'](_0xd66727(0x191)))}:{}};}function buildUpdateInput(_0x2ab4f8){const _0xae59dc=a29_0x372486,_0x5e50a2={};optionalTrimmed(_0x2ab4f8[_0xae59dc(0x19f)](_0xae59dc(0x1a2)))&&(_0x5e50a2['functionName']=normalizeFunctionName(_0x2ab4f8[_0xae59dc(0x19f)]('name')));_0x2ab4f8['flag'](_0xae59dc(0x1a8))!==undefined&&(_0x5e50a2[_0xae59dc(0x1a8)]=_0x2ab4f8[_0xae59dc(0x19f)](_0xae59dc(0x1a8)));optionalTrimmed(_0x2ab4f8[_0xae59dc(0x19f)](_0xae59dc(0x1bb)))&&(_0x5e50a2[_0xae59dc(0x1ba)]=readScriptFile(_0x2ab4f8[_0xae59dc(0x19f)](_0xae59dc(0x1bb))));_0x2ab4f8[_0xae59dc(0x19b)](_0xae59dc(0x191))!==undefined&&(_0x5e50a2[_0xae59dc(0x19a)]=_0x2ab4f8[_0xae59dc(0x19f)](_0xae59dc(0x191)));if(Object[_0xae59dc(0x188)](_0x5e50a2)[_0xae59dc(0x1b3)]===0x0)throw CliErrors[_0xae59dc(0x18e)](_0xae59dc(0x197));return _0x5e50a2;}function parseExecParams(_0x49a6ec){const _0x30901f=a29_0x372486,_0x140c9d=parseJsonParams(_0x49a6ec)??{};if(Array[_0x30901f(0x1bf)](_0x140c9d))throw CliErrors[_0x30901f(0x18e)](_0x30901f(0x1ab));return _0x140c9d;}function a29_0x5a25(_0x372f83,_0x2a02aa){_0x372f83=_0x372f83-0x187;const _0x3021c2=a29_0x3021();let _0x5a2511=_0x3021c2[_0x372f83];return _0x5a2511;}const personalBffList={'service':a29_0x372486(0x193),'command':a29_0x372486(0x1b8),'description':'List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','risk':a29_0x372486(0x1af),'flags':[VERBOSE_FLAG],async 'execute'(_0x173937){const _0x5d1f79=a29_0x372486,_0x3cd384=await listPersonalBffs(_0x173937[_0x5d1f79(0x1a3)]);return{'ok':!![],'data':{'total':_0x3cd384[_0x5d1f79(0x1b3)],'items':_0x173937[_0x5d1f79(0x1c7)](_0x5d1f79(0x198))?_0x3cd384:_0x3cd384['map'](summarizeBff)}};}},personalBffDetail={'service':a29_0x372486(0x193),'command':a29_0x372486(0x1c8),'description':a29_0x372486(0x1ce),'risk':a29_0x372486(0x1af),'flags':[{...ID_FLAG,'description':a29_0x372486(0x1ae)}],async 'execute'(_0x2f122c){const _0x1385ef=await getPersonalBff(_0x2f122c['num']('id'),_0x2f122c['appCode']);return{'ok':!![],'data':detailBff(_0x1385ef)};}},personalBffCreate={'service':a29_0x372486(0x193),'command':a29_0x372486(0x1d0),'description':a29_0x372486(0x1ac),'risk':a29_0x372486(0x1cf),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x572e39){const _0x54baa2=a29_0x372486,_0x3a1986=buildCreateInput(_0x572e39),_0x3eaf3c=await createPersonalBff(_0x572e39[_0x54baa2(0x1a3)],_0x3a1986);return{'ok':!![],'data':detailBff(_0x3eaf3c),'message':_0x54baa2(0x1be)+_0x3eaf3c['id']+(_0x3eaf3c[_0x54baa2(0x189)]?'\x20('+_0x3eaf3c[_0x54baa2(0x189)]+')':'')};},async 'dryRun'(_0xdfaa15){const _0x2f3ba5=a29_0x372486,_0x26eea4=buildCreateInput(_0xdfaa15);return dryRun(_0x2f3ba5(0x1a9),_0x2f3ba5(0x1a4))[_0x2f3ba5(0x18a)]({'appCode':_0xdfaa15[_0x2f3ba5(0x1a3)],..._0x26eea4})[_0x2f3ba5(0x1a8)]('Preview:\x20create\x20personal\x20BFF\x20'+_0x26eea4[_0x2f3ba5(0x189)])[_0x2f3ba5(0x1cd)]();}},personalBffUpdate={'service':a29_0x372486(0x193),'command':'update','description':'Update\x20a\x20personal\x20BFF\x20by\x20id','risk':a29_0x372486(0x1cf),'flags':[{...ID_FLAG,'description':a29_0x372486(0x1ae)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x42aa66){const _0x561277=a29_0x372486,_0x2031e0=_0x42aa66['num']('id'),_0x4277f9=buildUpdateInput(_0x42aa66),_0x861d18=await updatePersonalBff(_0x2031e0,_0x42aa66[_0x561277(0x1a3)],_0x4277f9);return{'ok':!![],'data':detailBff(_0x861d18),'message':'Updated\x20personal\x20BFF\x20'+_0x861d18['id']+(_0x861d18[_0x561277(0x189)]?'\x20('+_0x861d18['functionName']+')':'')};},async 'dryRun'(_0x2c14e9){const _0x5cb3f4=a29_0x372486,_0x44e8d1=_0x2c14e9['num']('id'),_0x221309=buildUpdateInput(_0x2c14e9);return dryRun(_0x5cb3f4(0x1a9),_0x5cb3f4(0x1a0)+_0x44e8d1+_0x5cb3f4(0x1ad))[_0x5cb3f4(0x18a)]({'appCode':_0x2c14e9[_0x5cb3f4(0x1a3)],..._0x221309})[_0x5cb3f4(0x1a8)](_0x5cb3f4(0x1ca)+_0x44e8d1)['build']();}},personalBffExec={'service':a29_0x372486(0x193),'command':a29_0x372486(0x1b2),'description':a29_0x372486(0x1c1),'risk':'high-risk-write','flags':[{...ID_FLAG,'description':'Personal\x20BFF\x20script\x20ID'},{...PARAMS_FLAG,'description':a29_0x372486(0x1b4)}],async 'validate'(_0x48c74e){const _0xa87315=a29_0x372486;parseExecParams(_0x48c74e['str'](_0xa87315(0x1b1)));},async 'execute'(_0x1b6d43){const _0x1b4d1a=a29_0x372486,_0x23d98a=_0x1b6d43[_0x1b4d1a(0x1b6)]('id'),_0x2e893c=parseExecParams(_0x1b6d43[_0x1b4d1a(0x19f)](_0x1b4d1a(0x1b1))),_0x36964c=await executePersonalBff(_0x23d98a,_0x1b6d43[_0x1b4d1a(0x1a3)],_0x2e893c);return{'ok':!![],'data':{'result':_0x36964c},'message':_0x1b4d1a(0x1bc)+_0x23d98a};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
1
+ const a29_0xaa7b58=a29_0xb807;(function(_0x30599a,_0x571529){const _0x25990b=a29_0xb807,_0x28f272=_0x30599a();while(!![]){try{const _0x1c71ed=-parseInt(_0x25990b(0x195))/0x1*(-parseInt(_0x25990b(0x1b2))/0x2)+parseInt(_0x25990b(0x1c7))/0x3*(parseInt(_0x25990b(0x1b5))/0x4)+parseInt(_0x25990b(0x1d0))/0x5*(parseInt(_0x25990b(0x1c9))/0x6)+parseInt(_0x25990b(0x1c8))/0x7+parseInt(_0x25990b(0x1c0))/0x8*(-parseInt(_0x25990b(0x1af))/0x9)+-parseInt(_0x25990b(0x1c3))/0xa+-parseInt(_0x25990b(0x1ad))/0xb*(parseInt(_0x25990b(0x1a4))/0xc);if(_0x1c71ed===_0x571529)break;else _0x28f272['push'](_0x28f272['shift']());}catch(_0x1b4487){_0x28f272['push'](_0x28f272['shift']());}}}(a29_0x4f1e,0x7f1c8));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalBff,executePersonalBff,getPersonalBff,listPersonalBffs,updatePersonalBff}from'../../core/api-client.js';import{ID_FLAG,PARAMS_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{parseJsonParams}from'../../utils/params.js';const FUNCTION_NAME_PATTERN=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,FILE_FLAG={'name':a29_0xaa7b58(0x1a9),'type':a29_0xaa7b58(0x1a7),'description':a29_0xaa7b58(0x192)},FUNCTION_NAME_FLAG={'name':'name','type':a29_0xaa7b58(0x1a7),'required':!![],'description':a29_0xaa7b58(0x1c4)},DESCRIPTION_FLAG={'name':a29_0xaa7b58(0x191),'type':a29_0xaa7b58(0x1a7),'description':'Personal\x20BFF\x20description'},SOURCE_SESSION_FLAG={'name':a29_0xaa7b58(0x1b0),'type':'string','description':a29_0xaa7b58(0x1b7)};function normalizeFunctionName(_0x4bed62){const _0x47305b=a29_0xaa7b58,_0x4c4829=String(_0x4bed62||'')[_0x47305b(0x19a)]();if(!_0x4c4829||!FUNCTION_NAME_PATTERN[_0x47305b(0x1b3)](_0x4c4829))throw CliErrors['validation']('--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.');return _0x4c4829;}function a29_0x4f1e(){const _0xd33ccc=['4357jOzTvo','createUserId','bool','personal-bff','gmtCreate','trim','functionName','write','validation','Personal\x20BFF\x20script\x20ID','createTime','POST','File\x20is\x20not\x20a\x20regular\x20file:\x20','body','flag','12zJAOzd','Updated\x20personal\x20BFF\x20','personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.','string','num','file','Update\x20a\x20personal\x20BFF\x20by\x20id','File\x20path\x20is\x20required.','detail','5702356DewfIj','isArray','3779262HjoXdh','source-session-id','Show\x20one\x20personal\x20BFF\x20by\x20id','378vkYslJ','test','config','296084XoCPBt','Personal\x20BFF\x20script\x20file\x20is\x20blank.','Optional\x20source\x20RuntimeAgent\x20session\x20id','length','/update','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','scriptType','Execute\x20a\x20personal\x20BFF\x20by\x20id\x20with\x20optional\x20JSON\x20params','scriptContent','read','updateTime','8LPCQlP','isFile','name','8521360yaDWpn','Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders','update','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','42xeWZUs','1278284uVnLLS','3366eUmZKX','Create\x20a\x20personal\x20BFF\x20from\x20a\x20local\x20script\x20file','version','high-risk-write','str','utf8','Preview:\x20update\x20personal\x20BFF\x20','2395VIftlN','Preview:\x20create\x20personal\x20BFF\x20','appCode','list','build','File\x20not\x20found:\x20','description','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','gmtModified','map'];a29_0x4f1e=function(){return _0xd33ccc;};return a29_0x4f1e();}function readScriptFile(_0x5e08ec){const _0x23c3f0=a29_0xaa7b58;if(!_0x5e08ec)throw CliErrors[_0x23c3f0(0x19d)](_0x23c3f0(0x1ab));if(!existsSync(_0x5e08ec))throw CliErrors[_0x23c3f0(0x19d)](_0x23c3f0(0x190)+_0x5e08ec);if(!statSync(_0x5e08ec)[_0x23c3f0(0x1c1)]())throw CliErrors[_0x23c3f0(0x19d)](_0x23c3f0(0x1a1)+_0x5e08ec);const _0x5a0965=readFileSync(_0x5e08ec,_0x23c3f0(0x1ce));if(!_0x5a0965[_0x23c3f0(0x19a)]())throw CliErrors['validation'](_0x23c3f0(0x1b6));return _0x5a0965;}function optionalTrimmed(_0x15580d){const _0x947a73=String(_0x15580d||'')['trim']();return _0x947a73||undefined;}function summarizeBff(_0xa40f77){const _0xf89077=a29_0xaa7b58;return{'id':_0xa40f77['id'],'appCode':_0xa40f77[_0xf89077(0x1d2)],'functionName':_0xa40f77[_0xf89077(0x19b)],'description':_0xa40f77['description'],'scriptType':_0xa40f77['scriptType'],'version':_0xa40f77[_0xf89077(0x1cb)],'gmtModified':_0xa40f77[_0xf89077(0x193)],'updateTime':_0xa40f77[_0xf89077(0x1bf)]};}function detailBff(_0xfb5207){const _0x4f5dee=a29_0xaa7b58;return{'id':_0xfb5207['id'],'appCode':_0xfb5207[_0x4f5dee(0x1d2)],'functionName':_0xfb5207['functionName'],'description':_0xfb5207[_0x4f5dee(0x191)],'scriptType':_0xfb5207[_0x4f5dee(0x1bb)],'scriptContent':_0xfb5207[_0x4f5dee(0x1bd)]??'','config':_0xfb5207[_0x4f5dee(0x1b4)],'version':_0xfb5207[_0x4f5dee(0x1cb)],'createUserId':_0xfb5207[_0x4f5dee(0x196)],'gmtCreate':_0xfb5207[_0x4f5dee(0x199)],'gmtModified':_0xfb5207['gmtModified'],'createTime':_0xfb5207[_0x4f5dee(0x19f)],'updateTime':_0xfb5207[_0x4f5dee(0x1bf)]};}function a29_0xb807(_0xb4a7b8,_0x2b1cb2){_0xb4a7b8=_0xb4a7b8-0x18e;const _0x4f1ee0=a29_0x4f1e();let _0xb8079=_0x4f1ee0[_0xb4a7b8];return _0xb8079;}function buildCreateInput(_0x2d3283){const _0x2a58e8=a29_0xaa7b58;return{'functionName':normalizeFunctionName(_0x2d3283[_0x2a58e8(0x1cd)]('name')),...optionalTrimmed(_0x2d3283[_0x2a58e8(0x1cd)](_0x2a58e8(0x191)))?{'description':optionalTrimmed(_0x2d3283[_0x2a58e8(0x1cd)](_0x2a58e8(0x191)))}:{},'scriptContent':readScriptFile(_0x2d3283[_0x2a58e8(0x1cd)](_0x2a58e8(0x1a9))),...optionalTrimmed(_0x2d3283[_0x2a58e8(0x1cd)](_0x2a58e8(0x1b0)))?{'sourceSessionId':optionalTrimmed(_0x2d3283[_0x2a58e8(0x1cd)](_0x2a58e8(0x1b0)))}:{}};}function buildUpdateInput(_0x42caa4){const _0x23de11=a29_0xaa7b58,_0xf1228f={};optionalTrimmed(_0x42caa4[_0x23de11(0x1cd)](_0x23de11(0x1c2)))&&(_0xf1228f[_0x23de11(0x19b)]=normalizeFunctionName(_0x42caa4[_0x23de11(0x1cd)](_0x23de11(0x1c2))));_0x42caa4[_0x23de11(0x1a3)](_0x23de11(0x191))!==undefined&&(_0xf1228f[_0x23de11(0x191)]=_0x42caa4[_0x23de11(0x1cd)](_0x23de11(0x191)));optionalTrimmed(_0x42caa4[_0x23de11(0x1cd)](_0x23de11(0x1a9)))&&(_0xf1228f[_0x23de11(0x1bd)]=readScriptFile(_0x42caa4['str'](_0x23de11(0x1a9))));_0x42caa4[_0x23de11(0x1a3)](_0x23de11(0x1b0))!==undefined&&(_0xf1228f['sourceSessionId']=_0x42caa4['str']('source-session-id'));if(Object['keys'](_0xf1228f)[_0x23de11(0x1b8)]===0x0)throw CliErrors['validation'](_0x23de11(0x1a6));return _0xf1228f;}function parseExecParams(_0x3f775d){const _0x3e3afc=a29_0xaa7b58,_0x2fcf88=parseJsonParams(_0x3f775d)??{};if(Array[_0x3e3afc(0x1ae)](_0x2fcf88))throw CliErrors[_0x3e3afc(0x19d)]('--params\x20must\x20be\x20a\x20JSON\x20object.');return _0x2fcf88;}const personalBffList={'service':'personal-bff','command':a29_0xaa7b58(0x18e),'description':a29_0xaa7b58(0x1ba),'risk':a29_0xaa7b58(0x1be),'flags':[VERBOSE_FLAG],async 'execute'(_0x485e15){const _0x19d0e0=a29_0xaa7b58,_0x2015b1=await listPersonalBffs(_0x485e15[_0x19d0e0(0x1d2)]);return{'ok':!![],'data':{'total':_0x2015b1[_0x19d0e0(0x1b8)],'items':_0x485e15[_0x19d0e0(0x197)]('verbose')?_0x2015b1:_0x2015b1[_0x19d0e0(0x194)](summarizeBff)}};}},personalBffDetail={'service':'personal-bff','command':a29_0xaa7b58(0x1ac),'description':a29_0xaa7b58(0x1b1),'risk':a29_0xaa7b58(0x1be),'flags':[{...ID_FLAG,'description':a29_0xaa7b58(0x19e)}],async 'execute'(_0x1744d1){const _0x33d30c=a29_0xaa7b58,_0x4e6da0=await getPersonalBff(_0x1744d1[_0x33d30c(0x1a8)]('id'),_0x1744d1[_0x33d30c(0x1d2)]);return{'ok':!![],'data':detailBff(_0x4e6da0)};}},personalBffCreate={'service':a29_0xaa7b58(0x198),'command':'create','description':a29_0xaa7b58(0x1ca),'risk':a29_0xaa7b58(0x19c),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x3fe109){const _0x223130=a29_0xaa7b58,_0x53a160=buildCreateInput(_0x3fe109),_0x5d2aa1=await createPersonalBff(_0x3fe109[_0x223130(0x1d2)],_0x53a160);return{'ok':!![],'data':detailBff(_0x5d2aa1),'message':'Created\x20personal\x20BFF\x20'+_0x5d2aa1['id']+(_0x5d2aa1[_0x223130(0x19b)]?'\x20('+_0x5d2aa1[_0x223130(0x19b)]+')':'')};},async 'dryRun'(_0x488204){const _0x1d4866=a29_0xaa7b58,_0x490302=buildCreateInput(_0x488204);return dryRun('POST','/client/runtime-bff/personal/create')[_0x1d4866(0x1a2)]({'appCode':_0x488204[_0x1d4866(0x1d2)],..._0x490302})[_0x1d4866(0x191)](_0x1d4866(0x1d1)+_0x490302['functionName'])['build']();}},personalBffUpdate={'service':a29_0xaa7b58(0x198),'command':a29_0xaa7b58(0x1c5),'description':a29_0xaa7b58(0x1aa),'risk':a29_0xaa7b58(0x19c),'flags':[{...ID_FLAG,'description':'Personal\x20BFF\x20script\x20ID'},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x35a5fb){const _0x3682e2=a29_0xaa7b58,_0x3fdc4f=_0x35a5fb['num']('id'),_0x3a9100=buildUpdateInput(_0x35a5fb),_0x4d579f=await updatePersonalBff(_0x3fdc4f,_0x35a5fb[_0x3682e2(0x1d2)],_0x3a9100);return{'ok':!![],'data':detailBff(_0x4d579f),'message':_0x3682e2(0x1a5)+_0x4d579f['id']+(_0x4d579f['functionName']?'\x20('+_0x4d579f['functionName']+')':'')};},async 'dryRun'(_0x2e4e89){const _0x56a865=a29_0xaa7b58,_0x46d53b=_0x2e4e89[_0x56a865(0x1a8)]('id'),_0x402f14=buildUpdateInput(_0x2e4e89);return dryRun(_0x56a865(0x1a0),'/client/runtime-bff/personal/'+_0x46d53b+_0x56a865(0x1b9))[_0x56a865(0x1a2)]({'appCode':_0x2e4e89[_0x56a865(0x1d2)],..._0x402f14})['description'](_0x56a865(0x1cf)+_0x46d53b)[_0x56a865(0x18f)]();}},personalBffExec={'service':a29_0xaa7b58(0x198),'command':'exec','description':a29_0xaa7b58(0x1bc),'risk':a29_0xaa7b58(0x1cc),'flags':[{...ID_FLAG,'description':a29_0xaa7b58(0x19e)},{...PARAMS_FLAG,'description':a29_0xaa7b58(0x1c6)}],async 'validate'(_0x2882b8){const _0x1c359e=a29_0xaa7b58;parseExecParams(_0x2882b8[_0x1c359e(0x1cd)]('params'));},async 'execute'(_0x1d94d9){const _0x523564=a29_0xaa7b58,_0x29f537=_0x1d94d9['num']('id'),_0x2491f0=parseExecParams(_0x1d94d9[_0x523564(0x1cd)]('params')),_0x24787c=await executePersonalBff(_0x29f537,_0x1d94d9['appCode'],_0x2491f0);return{'ok':!![],'data':{'result':_0x24787c},'message':'Executed\x20personal\x20BFF\x20'+_0x29f537};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
@@ -1 +1 @@
1
- const a30_0x127f45=a30_0x51eb;(function(_0x572789,_0x893773){const _0x5c8656=a30_0x51eb,_0x15e6dd=_0x572789();while(!![]){try{const _0x4f5ee9=-parseInt(_0x5c8656(0x7b))/0x1*(parseInt(_0x5c8656(0x9e))/0x2)+-parseInt(_0x5c8656(0x7f))/0x3*(-parseInt(_0x5c8656(0x8e))/0x4)+-parseInt(_0x5c8656(0x8b))/0x5*(-parseInt(_0x5c8656(0x9b))/0x6)+parseInt(_0x5c8656(0x9f))/0x7+parseInt(_0x5c8656(0x81))/0x8*(-parseInt(_0x5c8656(0x7a))/0x9)+parseInt(_0x5c8656(0x8d))/0xa*(-parseInt(_0x5c8656(0x83))/0xb)+parseInt(_0x5c8656(0x92))/0xc;if(_0x4f5ee9===_0x893773)break;else _0x15e6dd['push'](_0x15e6dd['shift']());}catch(_0x5805c2){_0x15e6dd['push'](_0x15e6dd['shift']());}}}(a30_0x1405,0x73093));import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{skillDefinitions}from'../commands/skill/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{serviceDefinitions}from'../commands/service/index.js';import{updateDefinition}from'../commands/update.js';import{doctorDefinition}from'../commands/doctor.js';import{schemaDefinition}from'../commands/schema.js';import{appDefinitions}from'../commands/app/definitions.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/definitions.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{dataDefinitions}from'../commands/data/index.js';import{kbDefinitions}from'../commands/kb/index.js';import{artifactDefinitions}from'../commands/artifact/index.js';import{personalBffDefinitions}from'../commands/personal-bff/index.js';import{apiDocDefinitions}from'../commands/api-doc/index.js';export const serviceRegistry=[];function a30_0x1405(){const _0x283cc5=['3wcXqWf','Instant\x20API','1784EfADwy','login','528JhUNkM','Logs','has','Knowledge\x20Base','Workspace','map','install','run','5vmLBzi','Self\x20Update','195280lglQra','2749536vAwPuv','Skills','risk','get','4441212myTiMv','Configuration','isSingleCommand','show','write','Authentication','BFF\x20Scripts','API\x20Documentation','Schema','335820cYdtzM','from','read','248yEOHhr','6198563wKlJHs','list','set','CLI\x20Built-in\x20Skill','Datasets','SQL\x20Queries','push','Artifacts','command','App\x20Management','service','defaultCommand','2475RfrAHM','4267KcUHqB','\x20\x20[write]','Service\x20Tree','Diagnostics'];a30_0x1405=function(){return _0x283cc5;};return a30_0x1405();}const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x4d20d8){const _0x23611c=a30_0x51eb;for(const _0x284a78 of _0x4d20d8){definitions[_0x23611c(0xa1)](_0x284a78[_0x23611c(0x78)]+':'+_0x284a78[_0x23611c(0x76)],_0x284a78);let _0x1c652a=serviceGroups[_0x23611c(0x91)](_0x284a78[_0x23611c(0x78)]);!_0x1c652a&&(_0x1c652a=[],serviceGroups[_0x23611c(0xa1)](_0x284a78[_0x23611c(0x78)],_0x1c652a)),_0x1c652a[_0x23611c(0xa5)](_0x284a78);}}function a30_0x51eb(_0x455446,_0x2699d8){_0x455446=_0x455446-0x76;const _0x140591=a30_0x1405();let _0x51ebff=_0x140591[_0x455446];return _0x51ebff;}function registerService(_0x745d57,_0x119124,_0x33df1c){const _0x890ce5=a30_0x51eb;registerDefinitions(_0x119124);const _0x3e31dc=_0x102ffd=>_0x102ffd===_0x890ce5(0x9d)?'':_0x102ffd===_0x890ce5(0x96)?_0x890ce5(0x7c):'\x20\x20[high-risk-write]',_0x239db8={'service':_0x119124[0x0][_0x890ce5(0x78)],'label':_0x745d57,'commands':_0x119124[_0x890ce5(0x88)](_0x47d4b9=>({'command':_0x47d4b9[_0x890ce5(0x76)],'description':_0x47d4b9['description'],'tag':_0x3e31dc(_0x47d4b9[_0x890ce5(0x90)])})),'defaultCommand':_0x33df1c?.[_0x890ce5(0x79)]??(_0x33df1c?.[_0x890ce5(0x94)]?_0x119124[0x0][_0x890ce5(0x76)]:undefined),'isSingleCommand':_0x33df1c?.[_0x890ce5(0x94)]};serviceRegistry['push'](_0x239db8),serviceByName[_0x890ce5(0xa1)](_0x239db8['service'],_0x239db8);}registerService(a30_0x127f45(0x97),authDefinitions,{'defaultCommand':a30_0x127f45(0x82)}),registerService(a30_0x127f45(0x99),apiDocDefinitions),registerService(a30_0x127f45(0xa3),datasetDefinitions),registerService(a30_0x127f45(0x80),dataDefinitions),registerService(a30_0x127f45(0xa4),sqlDefinitions),registerService(a30_0x127f45(0x98),bffDefinitions),registerService('Personal\x20BFF',personalBffDefinitions),registerService(a30_0x127f45(0xa6),artifactDefinitions),registerService(a30_0x127f45(0x86),kbDefinitions),registerService(a30_0x127f45(0x77),appDefinitions,{'defaultCommand':a30_0x127f45(0xa0)}),registerService(a30_0x127f45(0x87),workspaceDefinitions),registerService(a30_0x127f45(0x93),configDefinitions,{'defaultCommand':a30_0x127f45(0xa0)}),registerService(a30_0x127f45(0x7d),serviceDefinitions,{'defaultCommand':'list'}),registerService(a30_0x127f45(0x8f),skillDefinitions,{'defaultCommand':'install'}),registerService(a30_0x127f45(0xa2),cliSkillDefinitions,{'defaultCommand':a30_0x127f45(0x89)}),registerService(a30_0x127f45(0x8c),[updateDefinition],{'defaultCommand':a30_0x127f45(0x8a),'isSingleCommand':!![]}),registerService(a30_0x127f45(0x7e),[doctorDefinition],{'isSingleCommand':!![]}),registerService(a30_0x127f45(0x9a),[schemaDefinition],{'isSingleCommand':!![]}),registerService(a30_0x127f45(0x84),logsDefinitions,{'defaultCommand':a30_0x127f45(0x95)});export function findDefinition(_0x849afa,_0x1d8382){const _0x1ebd52=a30_0x127f45;return definitions[_0x1ebd52(0x91)](_0x849afa+':'+_0x1d8382);}export function isKnownService(_0x3c2387){const _0x12614a=a30_0x127f45;return serviceByName[_0x12614a(0x85)](_0x3c2387);}export function getServiceEntry(_0x13380d){const _0x1f36cc=a30_0x127f45;return serviceByName[_0x1f36cc(0x91)](_0x13380d);}export function getAllDefinitions(){const _0x452b20=a30_0x127f45;return Array[_0x452b20(0x9c)](definitions['values']());}
1
+ const a30_0x18a716=a30_0x3d62;(function(_0x8e5906,_0x354bfa){const _0x3f7629=a30_0x3d62,_0x47bae7=_0x8e5906();while(!![]){try{const _0x5a8886=-parseInt(_0x3f7629(0x168))/0x1+-parseInt(_0x3f7629(0x178))/0x2+-parseInt(_0x3f7629(0x167))/0x3*(parseInt(_0x3f7629(0x17a))/0x4)+-parseInt(_0x3f7629(0x177))/0x5*(parseInt(_0x3f7629(0x15e))/0x6)+-parseInt(_0x3f7629(0x153))/0x7+-parseInt(_0x3f7629(0x171))/0x8*(parseInt(_0x3f7629(0x16e))/0x9)+-parseInt(_0x3f7629(0x156))/0xa*(-parseInt(_0x3f7629(0x179))/0xb);if(_0x5a8886===_0x354bfa)break;else _0x47bae7['push'](_0x47bae7['shift']());}catch(_0x269fef){_0x47bae7['push'](_0x47bae7['shift']());}}}(a30_0x1d24,0x18784));import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{skillDefinitions}from'../commands/skill/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{serviceDefinitions}from'../commands/service/index.js';import{updateDefinition}from'../commands/update.js';import{doctorDefinition}from'../commands/doctor.js';import{schemaDefinition}from'../commands/schema.js';import{appDefinitions}from'../commands/app/definitions.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/definitions.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{dataDefinitions}from'../commands/data/index.js';import{kbDefinitions}from'../commands/kb/index.js';import{artifactDefinitions}from'../commands/artifact/index.js';import{personalBffDefinitions}from'../commands/personal-bff/index.js';import{apiDocDefinitions}from'../commands/api-doc/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x208064){const _0xf27d27=a30_0x3d62;for(const _0x3cbcad of _0x208064){definitions['set'](_0x3cbcad['service']+':'+_0x3cbcad[_0xf27d27(0x16f)],_0x3cbcad);let _0x21d24b=serviceGroups['get'](_0x3cbcad[_0xf27d27(0x160)]);!_0x21d24b&&(_0x21d24b=[],serviceGroups[_0xf27d27(0x172)](_0x3cbcad[_0xf27d27(0x160)],_0x21d24b)),_0x21d24b[_0xf27d27(0x17b)](_0x3cbcad);}}function registerService(_0x287e94,_0xdf8689,_0x1e43b0){const _0x3e3207=a30_0x3d62;registerDefinitions(_0xdf8689);const _0x197262=_0x5bd18d=>_0x5bd18d===_0x3e3207(0x154)?'':_0x5bd18d===_0x3e3207(0x165)?'\x20\x20[write]':_0x3e3207(0x173),_0x5edc35={'service':_0xdf8689[0x0]['service'],'label':_0x287e94,'commands':_0xdf8689[_0x3e3207(0x17d)](_0x3df41b=>({'command':_0x3df41b[_0x3e3207(0x16f)],'description':_0x3df41b[_0x3e3207(0x166)],'tag':_0x197262(_0x3df41b[_0x3e3207(0x174)])})),'defaultCommand':_0x1e43b0?.[_0x3e3207(0x157)]??(_0x1e43b0?.[_0x3e3207(0x164)]?_0xdf8689[0x0]['command']:undefined),'isSingleCommand':_0x1e43b0?.['isSingleCommand']};serviceRegistry['push'](_0x5edc35),serviceByName[_0x3e3207(0x172)](_0x5edc35[_0x3e3207(0x160)],_0x5edc35);}registerService(a30_0x18a716(0x163),authDefinitions,{'defaultCommand':a30_0x18a716(0x175)}),registerService(a30_0x18a716(0x17f),apiDocDefinitions),registerService('Datasets',datasetDefinitions),registerService(a30_0x18a716(0x176),dataDefinitions),registerService(a30_0x18a716(0x169),sqlDefinitions),registerService(a30_0x18a716(0x15b),bffDefinitions),registerService(a30_0x18a716(0x170),personalBffDefinitions),registerService(a30_0x18a716(0x16c),artifactDefinitions),registerService('Knowledge\x20Base',kbDefinitions),registerService(a30_0x18a716(0x16b),appDefinitions,{'defaultCommand':a30_0x18a716(0x15a)}),registerService(a30_0x18a716(0x161),workspaceDefinitions),registerService(a30_0x18a716(0x155),configDefinitions,{'defaultCommand':a30_0x18a716(0x15a)}),registerService(a30_0x18a716(0x15c),serviceDefinitions,{'defaultCommand':a30_0x18a716(0x15a)}),registerService(a30_0x18a716(0x158),skillDefinitions,{'defaultCommand':a30_0x18a716(0x16a)}),registerService(a30_0x18a716(0x159),cliSkillDefinitions,{'defaultCommand':a30_0x18a716(0x16a)}),registerService('Self\x20Update',[updateDefinition],{'defaultCommand':'run','isSingleCommand':!![]}),registerService(a30_0x18a716(0x162),[doctorDefinition],{'isSingleCommand':!![]}),registerService(a30_0x18a716(0x17e),[schemaDefinition],{'isSingleCommand':!![]}),registerService(a30_0x18a716(0x15f),logsDefinitions,{'defaultCommand':a30_0x18a716(0x180)});export function findDefinition(_0x221363,_0x58b15d){const _0x4c3672=a30_0x18a716;return definitions[_0x4c3672(0x16d)](_0x221363+':'+_0x58b15d);}export function isKnownService(_0x4fc5f5){return serviceByName['has'](_0x4fc5f5);}function a30_0x3d62(_0x25d87f,_0x578903){_0x25d87f=_0x25d87f-0x153;const _0x1d2450=a30_0x1d24();let _0x3d6251=_0x1d2450[_0x25d87f];return _0x3d6251;}function a30_0x1d24(){const _0x1acac8=['8mOKZme','set','\x20\x20[high-risk-write]','risk','login','Instant\x20API','2125qyVnQW','357216xEJgTR','3533596wvlKGE','12huDrfR','push','values','map','Schema','API\x20Documentation','show','467481CdYAQW','read','Configuration','20rttQkF','defaultCommand','Skills','CLI\x20Built-in\x20Skill','list','BFF\x20Scripts','Service\x20Tree','from','540NBlVvz','Logs','service','Workspace','Diagnostics','Authentication','isSingleCommand','write','description','34401JsWzEm','139155oumjiO','SQL\x20Queries','install','App\x20Management','Artifacts','get','765423sBOniR','command','Personal\x20BFF'];a30_0x1d24=function(){return _0x1acac8;};return a30_0x1d24();}export function getServiceEntry(_0x14cf29){return serviceByName['get'](_0x14cf29);}export function getAllDefinitions(){const _0x112752=a30_0x18a716;return Array[_0x112752(0x15d)](definitions[_0x112752(0x17c)]());}
@@ -1 +1 @@
1
- function a31_0x48e3(){const _0xfecad4=['387743pNXVAV','schema','6744wEDpsG','2591451dsNwcI','12nXPZeZ','300432KuDoVW','907403FSJDPv','807EPLKje','6eHDAtB','696OmZwDx','6596968aCxHjC','891585bvgGYG','Export\x20machine-readable\x20command\x20schema\x20(JSON)','10aDoJCX','export'];a31_0x48e3=function(){return _0xfecad4;};return a31_0x48e3();}const a31_0x2a6560=a31_0x571a;function a31_0x571a(_0x1c8213,_0x5e4460){_0x1c8213=_0x1c8213-0x171;const _0x48e366=a31_0x48e3();let _0x571adf=_0x48e366[_0x1c8213];return _0x571adf;}(function(_0x4cd98a,_0x258b2f){const _0x3e43a3=a31_0x571a,_0x2f26ed=_0x4cd98a();while(!![]){try{const _0x6791b4=-parseInt(_0x3e43a3(0x17d))/0x1+parseInt(_0x3e43a3(0x17f))/0x2*(parseInt(_0x3e43a3(0x175))/0x3)+parseInt(_0x3e43a3(0x172))/0x4*(-parseInt(_0x3e43a3(0x179))/0x5)+parseInt(_0x3e43a3(0x176))/0x6*(parseInt(_0x3e43a3(0x174))/0x7)+-parseInt(_0x3e43a3(0x178))/0x8+-parseInt(_0x3e43a3(0x171))/0x9*(parseInt(_0x3e43a3(0x17b))/0xa)+-parseInt(_0x3e43a3(0x173))/0xb*(-parseInt(_0x3e43a3(0x177))/0xc);if(_0x6791b4===_0x258b2f)break;else _0x2f26ed['push'](_0x2f26ed['shift']());}catch(_0x5d2b4d){_0x2f26ed['push'](_0x2f26ed['shift']());}}}(a31_0x48e3,0x8ef43));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x56289b){const _0x58fd9e=await buildSchemaPayload();return{'ok':!![],'data':_0x58fd9e};}export const schemaDefinition={'service':a31_0x2a6560(0x17e),'command':a31_0x2a6560(0x17c),'description':a31_0x2a6560(0x17a),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};
1
+ const a31_0xf91b27=a31_0x3da5;function a31_0x3da5(_0x5ac7c7,_0x2b7f3f){_0x5ac7c7=_0x5ac7c7-0xff;const _0x153258=a31_0x1532();let _0x3da5f8=_0x153258[_0x5ac7c7];return _0x3da5f8;}(function(_0x973182,_0x236e01){const _0x5ed6fe=a31_0x3da5,_0x12b63a=_0x973182();while(!![]){try{const _0x58e109=parseInt(_0x5ed6fe(0x103))/0x1+-parseInt(_0x5ed6fe(0x10b))/0x2*(parseInt(_0x5ed6fe(0x108))/0x3)+-parseInt(_0x5ed6fe(0x101))/0x4*(-parseInt(_0x5ed6fe(0x106))/0x5)+parseInt(_0x5ed6fe(0x100))/0x6*(parseInt(_0x5ed6fe(0x102))/0x7)+parseInt(_0x5ed6fe(0x105))/0x8+-parseInt(_0x5ed6fe(0x107))/0x9+-parseInt(_0x5ed6fe(0x109))/0xa;if(_0x58e109===_0x236e01)break;else _0x12b63a['push'](_0x12b63a['shift']());}catch(_0x15838c){_0x12b63a['push'](_0x12b63a['shift']());}}}(a31_0x1532,0x19ff4));function a31_0x1532(){const _0xce6f8f=['199780PrOfqC','Export\x20machine-readable\x20command\x20schema\x20(JSON)','402400oLctRS','13565gjsORT','1385973feprMu','568314pdRAuy','1239020gbZzAE','schema','2OMNgmU','export','12auocGl','172tfRHyj','724787kmmIkg'];a31_0x1532=function(){return _0xce6f8f;};return a31_0x1532();}import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x1b475d){const _0x53f690=await buildSchemaPayload();return{'ok':!![],'data':_0x53f690};}export const schemaDefinition={'service':a31_0xf91b27(0x10a),'command':a31_0xf91b27(0xff),'description':a31_0xf91b27(0x104),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};
@@ -1 +1 @@
1
- (function(_0x370bdd,_0x2d624b){const _0x3641b3=a32_0x4648,_0x17fffe=_0x370bdd();while(!![]){try{const _0x4cf17a=parseInt(_0x3641b3(0x1cd))/0x1+-parseInt(_0x3641b3(0x1fe))/0x2*(parseInt(_0x3641b3(0x1d8))/0x3)+parseInt(_0x3641b3(0x1f4))/0x4*(-parseInt(_0x3641b3(0x21a))/0x5)+-parseInt(_0x3641b3(0x22d))/0x6+parseInt(_0x3641b3(0x216))/0x7+-parseInt(_0x3641b3(0x215))/0x8*(-parseInt(_0x3641b3(0x20e))/0x9)+-parseInt(_0x3641b3(0x1e9))/0xa*(-parseInt(_0x3641b3(0x212))/0xb);if(_0x4cf17a===_0x2d624b)break;else _0x17fffe['push'](_0x17fffe['shift']());}catch(_0x1e62b6){_0x17fffe['push'](_0x17fffe['shift']());}}}(a32_0x11dc,0x25c39));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(_0x712319,_0x40b5d0){const _0x4ccada=a32_0x4648,_0x5356d2=listLocalServiceTrees();let _0x5a097f;for(const _0x1b7e2f of _0x5356d2){const _0x9aae91=matchServiceTreeCommand(_0x1b7e2f,_0x712319);if(!_0x9aae91)continue;(!_0x5a097f||_0x9aae91[_0x4ccada(0x1db)][_0x4ccada(0x220)]['length']>_0x5a097f[_0x4ccada(0x1db)]['fullPath'][_0x4ccada(0x1e1)])&&(_0x5a097f={'tree':_0x1b7e2f,'command':_0x9aae91[_0x4ccada(0x1db)],'remainingArgs':_0x9aae91[_0x4ccada(0x1e2)]});}if(!_0x5a097f)return undefined;const _0x32567f={..._0x40b5d0};return applyAppBinding(_0x5a097f[_0x4ccada(0x1dd)],_0x5a097f[_0x4ccada(0x1db)],_0x32567f),{'definition':buildDynamicCommandDefinition(_0x5a097f[_0x4ccada(0x1dd)],_0x5a097f[_0x4ccada(0x1db)]),'args':_0x5a097f[_0x4ccada(0x1e2)],'flags':_0x32567f,'tree':_0x5a097f['tree'],'command':_0x5a097f[_0x4ccada(0x1db)]};}export function generateDynamicServiceHelp(_0x35f7e9){const _0x1362eb=a32_0x4648,_0x243327=listLocalServiceTrees()[_0x1362eb(0x210)](_0x419364=>_0x419364[_0x1362eb(0x205)][_0x1362eb(0x1d6)]===_0x35f7e9);if(!_0x243327)return undefined;const _0xfbfcc1=[CLI_BIN_NAME+'\x20'+_0x35f7e9+_0x1362eb(0x1f8),'',_0x243327[_0x1362eb(0x205)][_0x1362eb(0x20f)]||_0x35f7e9,_0x243327['service']['description']?'\x20\x20'+_0x243327[_0x1362eb(0x205)][_0x1362eb(0x1f9)]:'','',_0x1362eb(0x1e4),..._0x243327[_0x1362eb(0x1e3)][_0x1362eb(0x1da)](_0x4032f9=>{const _0x20b65a=_0x1362eb,_0x6cb017=_0x4032f9[_0x20b65a(0x220)][_0x20b65a(0x22c)](0x1)[_0x20b65a(0x202)]('\x20'),_0x4f57af=_0x4032f9['risk']===_0x20b65a(0x22f)?'':'\x20['+_0x4032f9[_0x20b65a(0x22a)]+']';return'\x20\x20'+_0x6cb017[_0x20b65a(0x227)](0x18)+'\x20'+(_0x4032f9[_0x20b65a(0x1f9)]||'')+_0x4f57af;}),'',_0x1362eb(0x1d7)+CLI_BIN_NAME+'\x20service\x20detail\x20--service\x20'+_0x35f7e9+_0x1362eb(0x230)][_0x1362eb(0x1e0)](Boolean);return _0xfbfcc1[_0x1362eb(0x202)]('\x0a');}export function listDynamicServiceEntries(){const _0x27f93e=a32_0x4648;return listLocalServices()[_0x27f93e(0x1da)](_0x28c731=>{const _0x577b67=_0x27f93e,_0x3abab1=_0x28c731[_0x577b67(0x1ef)];return{'service':_0x3abab1['service']['code'],'label':_0x3abab1['service'][_0x577b67(0x20f)]||_0x3abab1[_0x577b67(0x205)][_0x577b67(0x1d6)],'commands':_0x3abab1[_0x577b67(0x1e3)][_0x577b67(0x1da)](_0x40cb01=>({'command':dynamicCommandName(_0x40cb01),'description':_0x40cb01[_0x577b67(0x1f9)]||_0x577b67(0x1fc)+_0x40cb01['cliPath'],'tag':riskTag(_0x40cb01[_0x577b67(0x22a)])}))};});}export function getDynamicServiceEntry(_0x28dd42){const _0x2b82c7=a32_0x4648;return listDynamicServiceEntries()[_0x2b82c7(0x210)](_0x5afe92=>_0x5afe92[_0x2b82c7(0x205)]===_0x28dd42);}export function listDynamicServiceDefinitions(_0x5f4cd1){const _0x4666b6=a32_0x4648;return listLocalServiceTrees()['filter'](_0x4cd468=>!_0x5f4cd1||_0x4cd468[_0x4666b6(0x205)][_0x4666b6(0x1d6)]===_0x5f4cd1)['flatMap'](_0x420632=>_0x420632[_0x4666b6(0x1e3)]['map'](_0x42d120=>buildDynamicCommandDefinition(_0x420632,_0x42d120)));}export function getDynamicServiceDefinitions(_0x4e1e92){const _0x18ce52=a32_0x4648,_0x5ca3ed=listDynamicServiceDefinitions(_0x4e1e92);return _0x5ca3ed[_0x18ce52(0x1e1)]>0x0?_0x5ca3ed:undefined;}export function findDynamicServiceDefinition(_0x1df837,_0x5321c7){const _0x341119=a32_0x4648;return listDynamicServiceDefinitions(_0x1df837)[_0x341119(0x210)](_0x260975=>_0x260975[_0x341119(0x1db)]===_0x5321c7);}export function buildDynamicCommandDefinition(_0x515a8b,_0x2dc32a){const _0x30b899=a32_0x4648;return{'service':_0x515a8b[_0x30b899(0x205)][_0x30b899(0x1d6)],'command':dynamicCommandName(_0x2dc32a),'description':_0x2dc32a['description']||_0x30b899(0x1fc)+_0x2dc32a[_0x30b899(0x231)],'risk':_0x2dc32a[_0x30b899(0x22a)],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x2dc32a['args'][_0x30b899(0x1da)](_0x3be7d7=>({'name':_0x3be7d7[_0x30b899(0x20f)],'description':_0x3be7d7[_0x30b899(0x1f9)]||_0x3be7d7['name'],'required':_0x3be7d7[_0x30b899(0x1d3)]})),'flags':_0x2dc32a[_0x30b899(0x208)][_0x30b899(0x1da)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x2dc32a),async 'dryRun'(_0x18c9e){const _0x131830=_0x30b899,_0x49281c=await compilePlan(_0x2dc32a,_0x18c9e);return{'method':_0x131830(0x1f2),'url':_0x2dc32a[_0x131830(0x231)],'body':{'target':targetPreview(_0x49281c),'params':_0x49281c['params']},'description':_0x131830(0x20a)+_0x2dc32a[_0x131830(0x231)]};},async 'execute'(_0x50ab51){const _0x185ddd=_0x30b899,_0x2541f9=await compilePlan(_0x2dc32a,_0x50ab51),_0xa18b34=Date[_0x185ddd(0x1cc)](),_0x5a3f09=await executePlan(_0x2541f9,_0x2dc32a,_0x50ab51),_0x5b3c43=Date['now']()-_0xa18b34;return{'ok':!![],'data':{'service':_0x515a8b[_0x185ddd(0x205)],'command':_0x2dc32a[_0x185ddd(0x231)],'target':targetPreview(_0x2541f9),'result':_0x5a3f09,'elapsed':_0x5b3c43},'message':_0x185ddd(0x1eb)+_0x2dc32a[_0x185ddd(0x231)]+_0x185ddd(0x226)+_0x5b3c43+'ms'};}};}function dynamicCommandName(_0x5e24b9){const _0x5196ff=a32_0x4648;return _0x5e24b9[_0x5196ff(0x220)]['slice'](0x1)[_0x5196ff(0x202)]('\x20');}function riskTag(_0x2b1d60){return _0x2b1d60==='read'?'':'\x20\x20['+_0x2b1d60+']';}function flagToCommandFlag(_0x48f8c0){const _0x307485=a32_0x4648;return{'name':_0x48f8c0[_0x307485(0x232)],'type':_0x48f8c0['type']===_0x307485(0x203)?_0x307485(0x1de):_0x48f8c0[_0x307485(0x1f1)],'description':_0x48f8c0['description']||_0x48f8c0[_0x307485(0x20f)],'required':_0x48f8c0[_0x307485(0x1d3)],'default':isPrimitiveFlagDefault(_0x48f8c0[_0x307485(0x217)])?_0x48f8c0['default']:undefined,'enum':_0x48f8c0[_0x307485(0x214)]};}async function compilePlan(_0x814946,_0x4db15b){const _0x581caa=a32_0x4648;return compileServiceTreeCommand(_0x814946,{'flags':_0x4db15b[_0x581caa(0x21e)],'args':_0x4db15b[_0x581caa(0x1d2)],'context':await buildServiceContext(_0x814946,_0x4db15b)});}function a32_0x11dc(){const _0x32ccbb=['1030074pYvGPp','nickname','read','`\x20to\x20inspect\x20the\x20manifest.','cliPath','cliName','\x20requires\x20target.scriptName.','datasetCode','entries','now','305936YiKzUy','trim','kind','Unknown\x20appRef\x20\x22','sqlCode','args','required','\x20\x20\x20\x20kind:\x20\x20\x20\x20','startsWith','code','Use\x20`','9Ekjmbr','appRef','map','command','tableName','tree','string','dbtableConfig','filter','length','remainingArgs','commands','Commands:','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','loginName','appCode','\x20\x20\x20\x20','70640WgEjIA','scriptName','Service\x20command\x20','envName','context.','bff','normalizedManifest','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','type','SERVICE_TREE','mapTo','1544dmJxCr','Cannot\x20resolve\x20datatable\x20\x22','fromEntries','appBindings','\x20<command>\x20[flags]','description','some','operator','Run\x20service\x20command\x20','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','154806GxCUBB','target','username','nickName','join','json','\x20\x20MAP\x20TO','service','env','userId','flags','\x20\x20\x20\x20datasetCode:\x20','Preview\x20dynamic\x20service\x20command:\x20','const','appcode','boolean','63iZfaAF','name','find','source','407oxtBhF','bffId','enum','160088RoefiT','220150jnJpYC','default','\x20\x20\x20\x20scriptName:\x20','params','2335ZHXcEk','datatable','data','userName','rawFlags','app','fullPath','bffCode','push','validation','sql','\x20\x20\x20\x20command:\x20','\x20completed\x20in\x20','padEnd','\x20\x20SERVICE\x20TREE\x20TARGET','\x20->\x20','risk','Unsupported\x20service\x20target\x20kind:\x20','slice'];a32_0x11dc=function(){return _0x32ccbb;};return a32_0x11dc();}async function buildServiceContext(_0x221d1f,_0x53f4e5){const _0x2e7102=a32_0x4648,_0x188a5c={'appCode':_0x53f4e5[_0x2e7102(0x1e7)],'env':_0x53f4e5[_0x2e7102(0x1ec)],'envName':_0x53f4e5['envName']};if(!usesRuntimeContext(_0x221d1f))return _0x188a5c;const _0x2451e0=await getLoginUserInfo(),_0x344905=pickFirst(_0x2451e0[_0x2e7102(0x207)],_0x2451e0['id']);return{..._0x188a5c,'user':_0x2451e0,'userId':_0x344905,'id':_0x2451e0['id'],'username':pickFirst(_0x2451e0[_0x2e7102(0x200)],_0x2451e0[_0x2e7102(0x21d)],_0x2451e0[_0x2e7102(0x1e6)]),'userName':_0x2451e0[_0x2e7102(0x21d)],'nickname':pickFirst(_0x2451e0[_0x2e7102(0x22e)],_0x2451e0[_0x2e7102(0x201)]),'nickName':_0x2451e0[_0x2e7102(0x201)],'tenantCode':_0x2451e0['tenantCode'],'employeeId':_0x2451e0['employeeId']};}function a32_0x4648(_0x541f69,_0x59a311){_0x541f69=_0x541f69-0x1ca;const _0x11dc2f=a32_0x11dc();let _0x4648a7=_0x11dc2f[_0x541f69];return _0x4648a7;}function usesRuntimeContext(_0x2136b0){const _0x23f9e7=a32_0x4648;return _0x2136b0['mapTo'][_0x23f9e7(0x1fa)](_0x58e778=>typeof _0x58e778[_0x23f9e7(0x211)]===_0x23f9e7(0x1de)&&(_0x58e778[_0x23f9e7(0x211)][_0x23f9e7(0x1d5)](_0x23f9e7(0x1ed))||_0x58e778['source'][_0x23f9e7(0x1d5)]('ctx.')));}function pickFirst(..._0x37eff0){const _0x4700e0=a32_0x4648;return _0x37eff0[_0x4700e0(0x210)](_0x3b7117=>_0x3b7117!==undefined&&_0x3b7117!==null);}async function executePlan(_0x49e5db,_0x56810d,_0x13ff65){const _0x473250=a32_0x4648;if(_0x49e5db['kind']===_0x473250(0x21c)){const _0x1ce601=await resolveDatasetCode(_0x49e5db,_0x56810d,_0x13ff65);return executeData(_0x1ce601,_0x49e5db[_0x473250(0x1db)],_0x49e5db['params']);}if(_0x49e5db[_0x473250(0x1cf)]===_0x473250(0x224)){if(!_0x49e5db[_0x473250(0x1d1)])throw CliErrors[_0x473250(0x223)]('Service\x20command\x20'+_0x56810d[_0x473250(0x231)]+'\x20requires\x20target.sqlCode.');return executeSdkSql(_0x49e5db['sqlCode'],normalizeScalarParams(_0x49e5db[_0x473250(0x219)]));}if(_0x49e5db[_0x473250(0x1cf)]===_0x473250(0x1ee)){const _0x560a02=_0x49e5db[_0x473250(0x1ea)]||_0x49e5db[_0x473250(0x221)]||(_0x49e5db['bffId']==null?'':String(_0x49e5db[_0x473250(0x213)]));if(!_0x560a02)throw CliErrors['validation'](_0x473250(0x1eb)+_0x56810d[_0x473250(0x231)]+_0x473250(0x233));return executeSdkBff(_0x560a02,_0x49e5db[_0x473250(0x219)]);}throw CliErrors[_0x473250(0x223)](_0x473250(0x22b)+_0x49e5db[_0x473250(0x1cf)]);}async function resolveDatasetCode(_0x4536fe,_0x557c9b,_0x32d10c){const _0x4650f5=a32_0x4648;if(_0x4536fe['datasetCode'])return _0x4536fe[_0x4650f5(0x1ca)];if(!_0x4536fe['datatable'])throw CliErrors[_0x4650f5(0x223)]('Service\x20command\x20'+_0x557c9b[_0x4650f5(0x231)]+_0x4650f5(0x1e5));const _0x252bad=await listDatasets(_0x32d10c[_0x4650f5(0x1e7)]),_0x1efc45=_0x252bad[_0x4650f5(0x210)](_0x5568e9=>_0x5568e9[_0x4650f5(0x1df)]?.[_0x4650f5(0x1dc)]===_0x4536fe[_0x4650f5(0x21b)]);if(!_0x1efc45?.[_0x4650f5(0x1d6)])throw CliErrors[_0x4650f5(0x223)](_0x4650f5(0x1f5)+_0x4536fe[_0x4650f5(0x21b)]+_0x4650f5(0x1fd)+_0x32d10c[_0x4650f5(0x1e7)]+'.',_0x4650f5(0x1f0));return _0x1efc45[_0x4650f5(0x1d6)];}function applyAppBinding(_0x1891b7,_0x48b147,_0x40b2a4){const _0x1ccee9=a32_0x4648,_0x4b6ee8=_0x48b147[_0x1ccee9(0x1ff)][_0x1ccee9(0x1d9)];if(!_0x4b6ee8)return;const _0x4a32da=_0x1891b7[_0x1ccee9(0x1f7)][_0x4b6ee8];if(!_0x4a32da)throw CliErrors[_0x1ccee9(0x223)](_0x1ccee9(0x1d0)+_0x4b6ee8+'\x22\x20in\x20service\x20command\x20'+_0x48b147[_0x1ccee9(0x231)]+'.','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.');const _0x414764=_0x4a32da[_0x1ccee9(0x20c)]||_0x4a32da['appCode'];_0x414764&&!hasText(_0x40b2a4[_0x1ccee9(0x20c)])&&(_0x40b2a4[_0x1ccee9(0x20c)]=_0x414764),_0x4a32da[_0x1ccee9(0x21f)]&&!hasText(_0x40b2a4['app'])&&!hasText(_0x40b2a4[_0x1ccee9(0x20c)])&&(_0x40b2a4['app']=_0x4a32da[_0x1ccee9(0x21f)]),_0x4a32da[_0x1ccee9(0x206)]&&!hasText(_0x40b2a4['env'])&&(_0x40b2a4[_0x1ccee9(0x206)]=_0x4a32da[_0x1ccee9(0x206)]);}function renderDynamicCommandHelp(_0x202aeb){const _0x430fca=a32_0x4648,_0x42c7e3=[_0x430fca(0x228),_0x430fca(0x1d4)+_0x202aeb[_0x430fca(0x1ff)][_0x430fca(0x1cf)],_0x430fca(0x225)+_0x202aeb[_0x430fca(0x1ff)][_0x430fca(0x1db)]];if(_0x202aeb[_0x430fca(0x1ff)][_0x430fca(0x1ca)])_0x42c7e3[_0x430fca(0x222)](_0x430fca(0x209)+_0x202aeb[_0x430fca(0x1ff)][_0x430fca(0x1ca)]);if(_0x202aeb['target'][_0x430fca(0x21b)])_0x42c7e3['push']('\x20\x20\x20\x20datatable:\x20'+_0x202aeb[_0x430fca(0x1ff)]['datatable']);if(_0x202aeb[_0x430fca(0x1ff)][_0x430fca(0x1d1)])_0x42c7e3[_0x430fca(0x222)]('\x20\x20\x20\x20sqlCode:\x20'+_0x202aeb[_0x430fca(0x1ff)][_0x430fca(0x1d1)]);if(_0x202aeb[_0x430fca(0x1ff)][_0x430fca(0x1ea)])_0x42c7e3[_0x430fca(0x222)](_0x430fca(0x218)+_0x202aeb[_0x430fca(0x1ff)][_0x430fca(0x1ea)]);if(_0x202aeb[_0x430fca(0x1f3)][_0x430fca(0x1e1)]>0x0){_0x42c7e3[_0x430fca(0x222)]('',_0x430fca(0x204));for(const _0x55b0c2 of _0x202aeb['mapTo']){_0x42c7e3['push'](_0x430fca(0x1e8)+(_0x55b0c2[_0x430fca(0x211)]||_0x430fca(0x20b))+_0x430fca(0x229)+_0x55b0c2[_0x430fca(0x1ff)]+(_0x55b0c2[_0x430fca(0x1fb)]?'.'+_0x55b0c2[_0x430fca(0x1fb)]:''));}}return _0x42c7e3[_0x430fca(0x202)]('\x0a');}function targetPreview(_0x5ca899){const _0x1e2d56=a32_0x4648;return{'kind':_0x5ca899[_0x1e2d56(0x1cf)],'command':_0x5ca899[_0x1e2d56(0x1db)],'appRef':_0x5ca899[_0x1e2d56(0x1d9)],'datasetCode':_0x5ca899['datasetCode'],'datatable':_0x5ca899[_0x1e2d56(0x21b)],'sqlCode':_0x5ca899[_0x1e2d56(0x1d1)],'bffCode':_0x5ca899['bffCode'],'bffId':_0x5ca899['bffId'],'scriptName':_0x5ca899[_0x1e2d56(0x1ea)]};}function normalizeScalarParams(_0x536366){const _0x4687b1=a32_0x4648;return Object[_0x4687b1(0x1f6)](Object[_0x4687b1(0x1cb)](_0x536366)['filter'](([,_0x5cebf7])=>typeof _0x5cebf7===_0x4687b1(0x1de)||typeof _0x5cebf7==='number'));}function hasText(_0x71a28e){const _0x55aede=a32_0x4648;return typeof _0x71a28e===_0x55aede(0x1de)&&_0x71a28e[_0x55aede(0x1ce)]()[_0x55aede(0x1e1)]>0x0;}function isPrimitiveFlagDefault(_0x1268f4){const _0xae20ad=a32_0x4648;return _0x1268f4===undefined||typeof _0x1268f4===_0xae20ad(0x1de)||typeof _0x1268f4==='number'||typeof _0x1268f4===_0xae20ad(0x20d);}
1
+ (function(_0x5df7f1,_0x6d69e7){const _0x4a245a=a32_0x41da,_0x59a8d7=_0x5df7f1();while(!![]){try{const _0x5eacfe=-parseInt(_0x4a245a(0x14d))/0x1+parseInt(_0x4a245a(0x167))/0x2*(parseInt(_0x4a245a(0x151))/0x3)+parseInt(_0x4a245a(0x139))/0x4*(-parseInt(_0x4a245a(0x15f))/0x5)+parseInt(_0x4a245a(0x13c))/0x6+parseInt(_0x4a245a(0x150))/0x7+parseInt(_0x4a245a(0x144))/0x8*(parseInt(_0x4a245a(0x148))/0x9)+parseInt(_0x4a245a(0x13b))/0xa;if(_0x5eacfe===_0x6d69e7)break;else _0x59a8d7['push'](_0x59a8d7['shift']());}catch(_0x4e9b93){_0x59a8d7['push'](_0x59a8d7['shift']());}}}(a32_0x4f10,0xa768c));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';function a32_0x4f10(){const _0x4b2393=['description','sql','now','app','5369932FOtmnd','sqlCode','9616300XnTcKk','2602182CVuJXB','target','fromEntries','datasetCode','scriptName','service','name','source','8KqvYDN','tree','normalizedManifest','join','1912509TrdCkm','cliName','\x20<command>\x20[flags]','find','appCode','1269613IjjLRq','required','params','4407816VhFlHK','12gXDKIQ','kind','json','string','\x20\x20\x20\x20command:\x20','\x20service\x20detail\x20--service\x20','userName','number','data','flags','appcode','entries','bffCode','startsWith','5WCjPWI','\x20\x20\x20\x20sqlCode:\x20','padEnd','datatable','flatMap','\x20requires\x20target.sqlCode.','Use\x20`','risk','530144flNKcs','tenantCode','Run\x20service\x20command\x20','args','tableName','command','appBindings','\x20requires\x20target.scriptName.','default','context.','\x20\x20MAP\x20TO','code','const','loginName','\x20\x20\x20\x20','SERVICE_TREE','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','\x20completed\x20in\x20','bffId','commands','slice','username','rawFlags','Unknown\x20appRef\x20\x22','mapTo','fullPath','Service\x20command\x20','\x20\x20SERVICE\x20TREE\x20TARGET','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','cliPath','push','bff','remainingArgs','trim','ctx.','envName','operator','map','filter','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','\x20\x20[','nickname','type','appRef','validation','env','\x22\x20in\x20service\x20command\x20','length','some','Cannot\x20resolve\x20datatable\x20\x22','employeeId'];a32_0x4f10=function(){return _0x4b2393;};return a32_0x4f10();}import{listLocalServices,listLocalServiceTrees}from'../../commands/service/registry.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export function resolveDynamicServiceCommand(_0x4f47b3,_0x2a28cb){const _0x1daccb=a32_0x41da,_0x50828d=listLocalServiceTrees();let _0x29b749;for(const _0x29c975 of _0x50828d){const _0x378572=matchServiceTreeCommand(_0x29c975,_0x4f47b3);if(!_0x378572)continue;(!_0x29b749||_0x378572[_0x1daccb(0x16c)]['fullPath'][_0x1daccb(0x196)]>_0x29b749[_0x1daccb(0x16c)][_0x1daccb(0x180)][_0x1daccb(0x196)])&&(_0x29b749={'tree':_0x29c975,'command':_0x378572[_0x1daccb(0x16c)],'remainingArgs':_0x378572[_0x1daccb(0x187)]});}if(!_0x29b749)return undefined;const _0x3cf737={..._0x2a28cb};return applyAppBinding(_0x29b749[_0x1daccb(0x145)],_0x29b749[_0x1daccb(0x16c)],_0x3cf737),{'definition':buildDynamicCommandDefinition(_0x29b749[_0x1daccb(0x145)],_0x29b749[_0x1daccb(0x16c)]),'args':_0x29b749['remainingArgs'],'flags':_0x3cf737,'tree':_0x29b749[_0x1daccb(0x145)],'command':_0x29b749[_0x1daccb(0x16c)]};}export function generateDynamicServiceHelp(_0x225c42){const _0xc9121c=a32_0x41da,_0x1e1ca4=listLocalServiceTrees()[_0xc9121c(0x14b)](_0x343ac0=>_0x343ac0[_0xc9121c(0x141)][_0xc9121c(0x172)]===_0x225c42);if(!_0x1e1ca4)return undefined;const _0x49ba67=[CLI_BIN_NAME+'\x20'+_0x225c42+_0xc9121c(0x14a),'',_0x1e1ca4['service'][_0xc9121c(0x142)]||_0x225c42,_0x1e1ca4['service']['description']?'\x20\x20'+_0x1e1ca4[_0xc9121c(0x141)][_0xc9121c(0x135)]:'','','Commands:',..._0x1e1ca4[_0xc9121c(0x17a)][_0xc9121c(0x18c)](_0x4a2479=>{const _0x3f4c88=_0xc9121c,_0x477e64=_0x4a2479[_0x3f4c88(0x180)][_0x3f4c88(0x17b)](0x1)[_0x3f4c88(0x147)]('\x20'),_0x48e6d8=_0x4a2479[_0x3f4c88(0x166)]==='read'?'':'\x20['+_0x4a2479[_0x3f4c88(0x166)]+']';return'\x20\x20'+_0x477e64[_0x3f4c88(0x161)](0x18)+'\x20'+(_0x4a2479['description']||'')+_0x48e6d8;}),'',_0xc9121c(0x165)+CLI_BIN_NAME+_0xc9121c(0x156)+_0x225c42+'`\x20to\x20inspect\x20the\x20manifest.'][_0xc9121c(0x18d)](Boolean);return _0x49ba67[_0xc9121c(0x147)]('\x0a');}export function listDynamicServiceEntries(){const _0x35fdf6=a32_0x41da;return listLocalServices()[_0x35fdf6(0x18c)](_0x5b2bc2=>{const _0xae617f=_0x35fdf6,_0x2ded60=_0x5b2bc2[_0xae617f(0x146)];return{'service':_0x2ded60[_0xae617f(0x141)][_0xae617f(0x172)],'label':_0x2ded60[_0xae617f(0x141)][_0xae617f(0x142)]||_0x2ded60[_0xae617f(0x141)][_0xae617f(0x172)],'commands':_0x2ded60[_0xae617f(0x17a)]['map'](_0x490563=>({'command':dynamicCommandName(_0x490563),'description':_0x490563[_0xae617f(0x135)]||_0xae617f(0x169)+_0x490563[_0xae617f(0x184)],'tag':riskTag(_0x490563[_0xae617f(0x166)])}))};});}export function getDynamicServiceEntry(_0x420056){const _0x56dcf3=a32_0x41da;return listDynamicServiceEntries()['find'](_0x1da6a4=>_0x1da6a4[_0x56dcf3(0x141)]===_0x420056);}export function listDynamicServiceDefinitions(_0x93e1ad){const _0x1fe908=a32_0x41da;return listLocalServiceTrees()['filter'](_0x170a28=>!_0x93e1ad||_0x170a28[_0x1fe908(0x141)]['code']===_0x93e1ad)[_0x1fe908(0x163)](_0x105846=>_0x105846[_0x1fe908(0x17a)][_0x1fe908(0x18c)](_0x3476a7=>buildDynamicCommandDefinition(_0x105846,_0x3476a7)));}export function getDynamicServiceDefinitions(_0x516404){const _0x20e790=a32_0x41da,_0x3884ed=listDynamicServiceDefinitions(_0x516404);return _0x3884ed[_0x20e790(0x196)]>0x0?_0x3884ed:undefined;}export function findDynamicServiceDefinition(_0x3eaff4,_0xedf5c3){const _0x360a3f=a32_0x41da;return listDynamicServiceDefinitions(_0x3eaff4)[_0x360a3f(0x14b)](_0x5aa327=>_0x5aa327[_0x360a3f(0x16c)]===_0xedf5c3);}export function buildDynamicCommandDefinition(_0x2e5579,_0xe39fba){const _0x4f67ff=a32_0x41da;return{'service':_0x2e5579[_0x4f67ff(0x141)]['code'],'command':dynamicCommandName(_0xe39fba),'description':_0xe39fba[_0x4f67ff(0x135)]||_0x4f67ff(0x169)+_0xe39fba[_0x4f67ff(0x184)],'risk':_0xe39fba[_0x4f67ff(0x166)],'requiresAuth':!![],'requiresAppCode':!![],'args':_0xe39fba[_0x4f67ff(0x16a)][_0x4f67ff(0x18c)](_0x305d1a=>({'name':_0x305d1a[_0x4f67ff(0x142)],'description':_0x305d1a[_0x4f67ff(0x135)]||_0x305d1a[_0x4f67ff(0x142)],'required':_0x305d1a[_0x4f67ff(0x14e)]})),'flags':_0xe39fba[_0x4f67ff(0x15a)][_0x4f67ff(0x18c)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0xe39fba),async 'dryRun'(_0x438cd9){const _0x1a3ed4=_0x4f67ff,_0x4e51ae=await compilePlan(_0xe39fba,_0x438cd9);return{'method':_0x1a3ed4(0x176),'url':_0xe39fba['cliPath'],'body':{'target':targetPreview(_0x4e51ae),'params':_0x4e51ae[_0x1a3ed4(0x14f)]},'description':'Preview\x20dynamic\x20service\x20command:\x20'+_0xe39fba[_0x1a3ed4(0x184)]};},async 'execute'(_0x48ec45){const _0x5720d8=_0x4f67ff,_0x3177d7=await compilePlan(_0xe39fba,_0x48ec45),_0x28bc18=Date[_0x5720d8(0x137)](),_0x389d49=await executePlan(_0x3177d7,_0xe39fba,_0x48ec45),_0x311cc0=Date[_0x5720d8(0x137)]()-_0x28bc18;return{'ok':!![],'data':{'service':_0x2e5579[_0x5720d8(0x141)],'command':_0xe39fba[_0x5720d8(0x184)],'target':targetPreview(_0x3177d7),'result':_0x389d49,'elapsed':_0x311cc0},'message':_0x5720d8(0x181)+_0xe39fba[_0x5720d8(0x184)]+_0x5720d8(0x178)+_0x311cc0+'ms'};}};}function dynamicCommandName(_0x26ff3b){const _0x4617e7=a32_0x41da;return _0x26ff3b['fullPath'][_0x4617e7(0x17b)](0x1)[_0x4617e7(0x147)]('\x20');}function riskTag(_0x409ddc){const _0x54eb43=a32_0x41da;return _0x409ddc==='read'?'':_0x54eb43(0x18f)+_0x409ddc+']';}function flagToCommandFlag(_0x56b2c8){const _0x2e54b5=a32_0x41da;return{'name':_0x56b2c8[_0x2e54b5(0x149)],'type':_0x56b2c8[_0x2e54b5(0x191)]===_0x2e54b5(0x153)?_0x2e54b5(0x154):_0x56b2c8[_0x2e54b5(0x191)],'description':_0x56b2c8[_0x2e54b5(0x135)]||_0x56b2c8['name'],'required':_0x56b2c8[_0x2e54b5(0x14e)],'default':isPrimitiveFlagDefault(_0x56b2c8[_0x2e54b5(0x16f)])?_0x56b2c8[_0x2e54b5(0x16f)]:undefined,'enum':_0x56b2c8['enum']};}async function compilePlan(_0x5b0041,_0x5f3ea7){const _0x158b4b=a32_0x41da;return compileServiceTreeCommand(_0x5b0041,{'flags':_0x5f3ea7[_0x158b4b(0x17d)],'args':_0x5f3ea7[_0x158b4b(0x16a)],'context':await buildServiceContext(_0x5b0041,_0x5f3ea7)});}async function buildServiceContext(_0x1ad2f0,_0x19a3a6){const _0x1bd87a=a32_0x41da,_0x3510a6={'appCode':_0x19a3a6[_0x1bd87a(0x14c)],'env':_0x19a3a6[_0x1bd87a(0x18a)],'envName':_0x19a3a6[_0x1bd87a(0x18a)]};if(!usesRuntimeContext(_0x1ad2f0))return _0x3510a6;const _0x1716c8=await getLoginUserInfo(),_0x3d10c8=pickFirst(_0x1716c8['userId'],_0x1716c8['id']);return{..._0x3510a6,'user':_0x1716c8,'userId':_0x3d10c8,'id':_0x1716c8['id'],'username':pickFirst(_0x1716c8[_0x1bd87a(0x17c)],_0x1716c8[_0x1bd87a(0x157)],_0x1716c8[_0x1bd87a(0x174)]),'userName':_0x1716c8[_0x1bd87a(0x157)],'nickname':pickFirst(_0x1716c8[_0x1bd87a(0x190)],_0x1716c8['nickName']),'nickName':_0x1716c8['nickName'],'tenantCode':_0x1716c8[_0x1bd87a(0x168)],'employeeId':_0x1716c8[_0x1bd87a(0x134)]};}function usesRuntimeContext(_0x3f0e51){const _0x45e0a5=a32_0x41da;return _0x3f0e51[_0x45e0a5(0x17f)][_0x45e0a5(0x132)](_0x6c0bda=>typeof _0x6c0bda['source']===_0x45e0a5(0x154)&&(_0x6c0bda['source'][_0x45e0a5(0x15e)](_0x45e0a5(0x170))||_0x6c0bda[_0x45e0a5(0x143)][_0x45e0a5(0x15e)](_0x45e0a5(0x189))));}function pickFirst(..._0x4b3f6d){const _0x140380=a32_0x41da;return _0x4b3f6d[_0x140380(0x14b)](_0x1b2fb0=>_0x1b2fb0!==undefined&&_0x1b2fb0!==null);}async function executePlan(_0x45cc15,_0x54519a,_0x14d192){const _0x4c317e=a32_0x41da;if(_0x45cc15['kind']===_0x4c317e(0x159)){const _0x37f411=await resolveDatasetCode(_0x45cc15,_0x54519a,_0x14d192);return executeData(_0x37f411,_0x45cc15['command'],_0x45cc15[_0x4c317e(0x14f)]);}if(_0x45cc15['kind']===_0x4c317e(0x136)){if(!_0x45cc15[_0x4c317e(0x13a)])throw CliErrors[_0x4c317e(0x193)]('Service\x20command\x20'+_0x54519a['cliPath']+_0x4c317e(0x164));return executeSdkSql(_0x45cc15[_0x4c317e(0x13a)],normalizeScalarParams(_0x45cc15[_0x4c317e(0x14f)]));}if(_0x45cc15[_0x4c317e(0x152)]===_0x4c317e(0x186)){const _0x5d9900=_0x45cc15[_0x4c317e(0x140)]||_0x45cc15[_0x4c317e(0x15d)]||(_0x45cc15[_0x4c317e(0x179)]==null?'':String(_0x45cc15[_0x4c317e(0x179)]));if(!_0x5d9900)throw CliErrors[_0x4c317e(0x193)](_0x4c317e(0x181)+_0x54519a[_0x4c317e(0x184)]+_0x4c317e(0x16e));return executeSdkBff(_0x5d9900,_0x45cc15[_0x4c317e(0x14f)]);}throw CliErrors['validation']('Unsupported\x20service\x20target\x20kind:\x20'+_0x45cc15[_0x4c317e(0x152)]);}async function resolveDatasetCode(_0x30904a,_0xef4d4a,_0x45bec7){const _0x5aa35b=a32_0x41da;if(_0x30904a[_0x5aa35b(0x13f)])return _0x30904a[_0x5aa35b(0x13f)];if(!_0x30904a[_0x5aa35b(0x162)])throw CliErrors[_0x5aa35b(0x193)](_0x5aa35b(0x181)+_0xef4d4a[_0x5aa35b(0x184)]+_0x5aa35b(0x183));const _0x3419d9=await listDatasets(_0x45bec7[_0x5aa35b(0x14c)]),_0x2aa257=_0x3419d9[_0x5aa35b(0x14b)](_0x27b72a=>_0x27b72a['dbtableConfig']?.[_0x5aa35b(0x16b)]===_0x30904a[_0x5aa35b(0x162)]);if(!_0x2aa257?.['code'])throw CliErrors[_0x5aa35b(0x193)](_0x5aa35b(0x133)+_0x30904a['datatable']+_0x5aa35b(0x177)+_0x45bec7[_0x5aa35b(0x14c)]+'.',_0x5aa35b(0x18e));return _0x2aa257[_0x5aa35b(0x172)];}function applyAppBinding(_0x514a7c,_0x30801d,_0x58f283){const _0x5f5908=a32_0x41da,_0x1c676a=_0x30801d[_0x5f5908(0x13d)][_0x5f5908(0x192)];if(!_0x1c676a)return;const _0x40965d=_0x514a7c[_0x5f5908(0x16d)][_0x1c676a];if(!_0x40965d)throw CliErrors[_0x5f5908(0x193)](_0x5f5908(0x17e)+_0x1c676a+_0x5f5908(0x195)+_0x30801d['cliPath']+'.','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.');const _0x59db86=_0x40965d[_0x5f5908(0x15b)]||_0x40965d[_0x5f5908(0x14c)];_0x59db86&&!hasText(_0x58f283[_0x5f5908(0x15b)])&&(_0x58f283[_0x5f5908(0x15b)]=_0x59db86),_0x40965d[_0x5f5908(0x138)]&&!hasText(_0x58f283[_0x5f5908(0x138)])&&!hasText(_0x58f283['appcode'])&&(_0x58f283['app']=_0x40965d[_0x5f5908(0x138)]),_0x40965d[_0x5f5908(0x194)]&&!hasText(_0x58f283[_0x5f5908(0x194)])&&(_0x58f283[_0x5f5908(0x194)]=_0x40965d[_0x5f5908(0x194)]);}function renderDynamicCommandHelp(_0x2d390d){const _0x316db7=a32_0x41da,_0x5dbb1e=[_0x316db7(0x182),'\x20\x20\x20\x20kind:\x20\x20\x20\x20'+_0x2d390d[_0x316db7(0x13d)][_0x316db7(0x152)],_0x316db7(0x155)+_0x2d390d[_0x316db7(0x13d)][_0x316db7(0x16c)]];if(_0x2d390d['target'][_0x316db7(0x13f)])_0x5dbb1e[_0x316db7(0x185)]('\x20\x20\x20\x20datasetCode:\x20'+_0x2d390d[_0x316db7(0x13d)][_0x316db7(0x13f)]);if(_0x2d390d['target']['datatable'])_0x5dbb1e[_0x316db7(0x185)]('\x20\x20\x20\x20datatable:\x20'+_0x2d390d[_0x316db7(0x13d)][_0x316db7(0x162)]);if(_0x2d390d[_0x316db7(0x13d)][_0x316db7(0x13a)])_0x5dbb1e[_0x316db7(0x185)](_0x316db7(0x160)+_0x2d390d['target'][_0x316db7(0x13a)]);if(_0x2d390d['target'][_0x316db7(0x140)])_0x5dbb1e[_0x316db7(0x185)]('\x20\x20\x20\x20scriptName:\x20'+_0x2d390d[_0x316db7(0x13d)][_0x316db7(0x140)]);if(_0x2d390d[_0x316db7(0x17f)][_0x316db7(0x196)]>0x0){_0x5dbb1e[_0x316db7(0x185)]('',_0x316db7(0x171));for(const _0x304330 of _0x2d390d['mapTo']){_0x5dbb1e[_0x316db7(0x185)](_0x316db7(0x175)+(_0x304330[_0x316db7(0x143)]||_0x316db7(0x173))+'\x20->\x20'+_0x304330['target']+(_0x304330[_0x316db7(0x18b)]?'.'+_0x304330[_0x316db7(0x18b)]:''));}}return _0x5dbb1e[_0x316db7(0x147)]('\x0a');}function targetPreview(_0x267909){const _0x47acb0=a32_0x41da;return{'kind':_0x267909[_0x47acb0(0x152)],'command':_0x267909[_0x47acb0(0x16c)],'appRef':_0x267909[_0x47acb0(0x192)],'datasetCode':_0x267909['datasetCode'],'datatable':_0x267909[_0x47acb0(0x162)],'sqlCode':_0x267909['sqlCode'],'bffCode':_0x267909[_0x47acb0(0x15d)],'bffId':_0x267909[_0x47acb0(0x179)],'scriptName':_0x267909[_0x47acb0(0x140)]};}function normalizeScalarParams(_0x156010){const _0x13b11c=a32_0x41da;return Object[_0x13b11c(0x13e)](Object[_0x13b11c(0x15c)](_0x156010)[_0x13b11c(0x18d)](([,_0x50cda6])=>typeof _0x50cda6===_0x13b11c(0x154)||typeof _0x50cda6===_0x13b11c(0x158)));}function a32_0x41da(_0x3bf4c8,_0x24be38){_0x3bf4c8=_0x3bf4c8-0x132;const _0x4f10f9=a32_0x4f10();let _0x41dac2=_0x4f10f9[_0x3bf4c8];return _0x41dac2;}function hasText(_0x2e062b){const _0x1826d4=a32_0x41da;return typeof _0x2e062b==='string'&&_0x2e062b[_0x1826d4(0x188)]()['length']>0x0;}function isPrimitiveFlagDefault(_0x5ae79d){const _0xd508f8=a32_0x41da;return _0x5ae79d===undefined||typeof _0x5ae79d===_0xd508f8(0x154)||typeof _0x5ae79d===_0xd508f8(0x158)||typeof _0x5ae79d==='boolean';}
@@ -1 +1 @@
1
- const a33_0x1560b6=a33_0x1d74;function a33_0x1d74(_0xa17710,_0x2c0b38){_0xa17710=_0xa17710-0xaa;const _0x2fbd22=a33_0x2fbd();let _0x1d74a3=_0x2fbd22[_0xa17710];return _0x1d74a3;}(function(_0x1fdd92,_0x5acb5d){const _0x2d53e0=a33_0x1d74,_0x4fad4b=_0x1fdd92();while(!![]){try{const _0x549064=parseInt(_0x2d53e0(0xbb))/0x1+parseInt(_0x2d53e0(0xe3))/0x2+-parseInt(_0x2d53e0(0xaf))/0x3+parseInt(_0x2d53e0(0xce))/0x4+parseInt(_0x2d53e0(0xd3))/0x5*(parseInt(_0x2d53e0(0xe6))/0x6)+-parseInt(_0x2d53e0(0xb3))/0x7+-parseInt(_0x2d53e0(0xc8))/0x8;if(_0x549064===_0x5acb5d)break;else _0x4fad4b['push'](_0x4fad4b['shift']());}catch(_0xaa56ee){_0x4fad4b['push'](_0x4fad4b['shift']());}}}(a33_0x2fbd,0x8747e));import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';const FILE_FLAG={'name':'file','type':'string','required':!![],'description':a33_0x1560b6(0xd9)},SERVICE_FLAG={'name':a33_0x1560b6(0xb7),'type':'string','required':!![],'description':a33_0x1560b6(0xc9),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':'lower\x20kebab-case\x20service\x20code'}};function summarizeService(_0x412882){const _0x6cdbdf=a33_0x1560b6;return{'serviceCode':_0x412882[_0x6cdbdf(0xd0)],'name':_0x412882['normalizedManifest'][_0x6cdbdf(0xb7)][_0x6cdbdf(0xc5)],'version':_0x412882[_0x6cdbdf(0xc7)],'importedAt':_0x412882[_0x6cdbdf(0xb6)],'source':_0x412882[_0x6cdbdf(0xd1)],'commandCount':_0x412882[_0x6cdbdf(0xb4)][_0x6cdbdf(0xcb)][_0x6cdbdf(0xc6)],'commands':_0x412882['normalizedManifest'][_0x6cdbdf(0xcb)][_0x6cdbdf(0xaa)](_0x5be88b=>({'path':_0x5be88b['cliPath'],'description':_0x5be88b[_0x6cdbdf(0xda)],'risk':_0x5be88b[_0x6cdbdf(0xb1)],'target':_0x5be88b[_0x6cdbdf(0xcd)],'flags':_0x5be88b['flags'][_0x6cdbdf(0xaa)](_0x4c1203=>({'name':_0x4c1203[_0x6cdbdf(0xc5)],'cliName':_0x4c1203['cliName'],'type':_0x4c1203[_0x6cdbdf(0xb8)],'required':_0x4c1203[_0x6cdbdf(0xb5)]===!![]}))}))};}function summarizeLoadedManifest(_0x4eba01){const _0x417801=a33_0x1560b6;return{'service':_0x4eba01[_0x417801(0xb4)]?.[_0x417801(0xb7)],'version':_0x4eba01[_0x417801(0xb4)]?.[_0x417801(0xc7)],'commandCount':_0x4eba01[_0x417801(0xb4)]?.['commands'][_0x417801(0xc6)]??0x0,'commands':_0x4eba01['normalizedManifest']?.['commands'][_0x417801(0xaa)](_0x1d03cf=>({'path':_0x1d03cf['cliPath'],'risk':_0x1d03cf[_0x417801(0xb1)],'target':_0x1d03cf[_0x417801(0xcd)]}))??[],'registryIndex':_0x4eba01['registryIndex'],'registryServiceCode':_0x4eba01[_0x417801(0xb0)],'errors':_0x4eba01['report'][_0x417801(0xd2)],'warnings':_0x4eba01[_0x417801(0xe1)][_0x417801(0xe4)]};}function a33_0x2fbd(){const _0x6b8f56=['entries','file','imported','registry','report','import','2188856ehpZlc','warnings','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','3510IPfqST','remove','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','WRITE','read','hash','map','cliPath','entry','detail','Service\x20registry\x20validation\x20passed.','2200611cAwPuW','registryServiceCode','risk','Local\x20service\x20not\x20found:\x20','5424342SjRRNx','normalizedManifest','required','importedAt','service','type','list','Service\x20manifest\x20validation\x20passed.','672607wfSNAh','filePath','Imported\x20','write','reduce','serviceCount','Exported\x20service\x20','str','updated','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','name','length','version','6984368KFeAlM','Local\x20service\x20code,\x20for\x20example\x20crm','Removed\x20service\x20','commands','replaced','target','3525316YynaKU','validate','serviceCode','source','errors','2455HIhTzY','kind','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','manifests','\x20service(s),\x20updated\x20','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','Service\x20Tree\x20manifest\x20file\x20path','description','\x20service(s).','registryPath'];a33_0x2fbd=function(){return _0x6b8f56;};return a33_0x2fbd();}export const serviceDefinitions=[{'service':a33_0x1560b6(0xb7),'command':a33_0x1560b6(0xcf),'description':'Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','risk':a33_0x1560b6(0xea),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x894d95){const _0x441c51=a33_0x1560b6,_0x264ddb=loadServiceManifestFromFile(_0x894d95[_0x441c51(0xc2)]('file'));if(!_0x264ddb['report']['ok'])return{'ok':![],'data':{'file':_0x264ddb[_0x441c51(0xbc)],'hash':_0x264ddb[_0x441c51(0xeb)],'kind':_0x264ddb[_0x441c51(0xd4)],'serviceCount':_0x264ddb['manifests'][_0x441c51(0xc6)],'services':_0x264ddb[_0x441c51(0xd6)][_0x441c51(0xaa)](summarizeLoadedManifest),'errors':_0x264ddb[_0x441c51(0xe1)][_0x441c51(0xd2)],'warnings':_0x264ddb[_0x441c51(0xe1)][_0x441c51(0xe4)]},'message':formatValidationFailure(_0x264ddb[_0x441c51(0xe1)])};if(_0x264ddb['kind']===_0x441c51(0xe0)||_0x264ddb['manifests']['length']!==0x1)return{'ok':!![],'data':{'file':_0x264ddb[_0x441c51(0xbc)],'hash':_0x264ddb[_0x441c51(0xeb)],'kind':_0x264ddb[_0x441c51(0xd4)],'serviceCount':_0x264ddb[_0x441c51(0xd6)][_0x441c51(0xc6)],'commandCount':_0x264ddb[_0x441c51(0xd6)][_0x441c51(0xbf)]((_0x512998,_0x16b90e)=>_0x512998+(_0x16b90e['normalizedManifest']?.[_0x441c51(0xcb)]['length']??0x0),0x0),'services':_0x264ddb[_0x441c51(0xd6)][_0x441c51(0xaa)](summarizeLoadedManifest),'warnings':_0x264ddb['report'][_0x441c51(0xe4)]},'message':_0x441c51(0xae)};return{'ok':!![],'data':{'file':_0x264ddb[_0x441c51(0xbc)],'hash':_0x264ddb[_0x441c51(0xeb)],'kind':_0x264ddb[_0x441c51(0xd4)],'service':_0x264ddb[_0x441c51(0xb4)]?.[_0x441c51(0xb7)],'version':_0x264ddb[_0x441c51(0xb4)]?.[_0x441c51(0xc7)],'commandCount':_0x264ddb[_0x441c51(0xb4)]?.[_0x441c51(0xcb)][_0x441c51(0xc6)]??0x0,'commands':_0x264ddb[_0x441c51(0xb4)]?.[_0x441c51(0xcb)][_0x441c51(0xaa)](_0x226391=>({'path':_0x226391[_0x441c51(0xab)],'risk':_0x226391['risk'],'target':_0x226391[_0x441c51(0xcd)]})),'warnings':_0x264ddb[_0x441c51(0xe1)][_0x441c51(0xe4)]},'message':_0x441c51(0xba)};}},{'service':a33_0x1560b6(0xb7),'command':a33_0x1560b6(0xe2),'description':a33_0x1560b6(0xd5),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x1568fa){const _0x407f82=a33_0x1560b6,_0x45084a=loadServiceManifestFromFile(_0x1568fa['str'](_0x407f82(0xde)));return{'method':'WRITE','url':getServiceRegistryPath(),'body':{'file':_0x45084a[_0x407f82(0xbc)],'hash':_0x45084a[_0x407f82(0xeb)],'kind':_0x45084a['kind'],'ok':_0x45084a[_0x407f82(0xe1)]['ok'],'service':_0x45084a['normalizedManifest']?.[_0x407f82(0xb7)],'version':_0x45084a[_0x407f82(0xb4)]?.[_0x407f82(0xc7)],'serviceCount':_0x45084a['manifests']['length'],'services':_0x45084a['manifests'][_0x407f82(0xaa)](_0x37d7b6=>({'service':_0x37d7b6[_0x407f82(0xb4)]?.[_0x407f82(0xb7)],'version':_0x37d7b6['normalizedManifest']?.['version'],'commandCount':_0x37d7b6[_0x407f82(0xb4)]?.[_0x407f82(0xcb)][_0x407f82(0xc6)]??0x0,'errors':_0x37d7b6['report'][_0x407f82(0xd2)]})),'errors':_0x45084a[_0x407f82(0xe1)][_0x407f82(0xd2)],'commandCount':_0x45084a['normalizedManifest']?.[_0x407f82(0xcb)]['length']??0x0},'description':_0x407f82(0xd8)};},async 'execute'(_0x3533e2){const _0x3690a6=a33_0x1560b6,_0x43cabd=importServiceManifest(_0x3533e2[_0x3690a6(0xc2)](_0x3690a6(0xde)));if(_0x43cabd['entries']['length']!==0x1)return{'ok':!![],'data':{'registryPath':_0x43cabd[_0x3690a6(0xdc)],'imported':_0x43cabd[_0x3690a6(0xdf)],'updated':_0x43cabd[_0x3690a6(0xc3)],'serviceCount':_0x43cabd['serviceCount'],'services':_0x43cabd[_0x3690a6(0xdd)]['map'](summarizeService)},'message':_0x3690a6(0xbd)+_0x43cabd['imported']+_0x3690a6(0xd7)+_0x43cabd['updated']+_0x3690a6(0xdb)};return{'ok':!![],'data':{'registryPath':_0x43cabd[_0x3690a6(0xdc)],'replaced':_0x43cabd[_0x3690a6(0xcc)],'imported':_0x43cabd[_0x3690a6(0xdf)],'updated':_0x43cabd[_0x3690a6(0xc3)],'serviceCount':_0x43cabd[_0x3690a6(0xc0)],'service':summarizeService(_0x43cabd[_0x3690a6(0xac)])},'message':(_0x43cabd[_0x3690a6(0xcc)]?'Updated':'Imported')+'\x20service\x20'+_0x43cabd[_0x3690a6(0xac)][_0x3690a6(0xd0)]+'.'};}},{'service':a33_0x1560b6(0xb7),'command':'export','description':'Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','risk':a33_0x1560b6(0xbe),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x51e948){const _0x17c6d1=a33_0x1560b6,_0x368370=getLocalServiceEntry(_0x51e948[_0x17c6d1(0xc2)](_0x17c6d1(0xb7)));return{'method':'WRITE','url':_0x51e948[_0x17c6d1(0xc2)]('file'),'body':{'service':_0x51e948[_0x17c6d1(0xc2)](_0x17c6d1(0xb7)),'found':Boolean(_0x368370),'version':_0x368370?.['version'],'source':_0x368370?.[_0x17c6d1(0xd1)]},'description':_0x17c6d1(0xe5)};},async 'execute'(_0x517b22){const _0x474012=a33_0x1560b6,_0x3cead3=exportServiceManifest(_0x517b22[_0x474012(0xc2)]('service'),_0x517b22[_0x474012(0xc2)](_0x474012(0xde)));return{'ok':!![],'data':{'registryPath':_0x3cead3['registryPath'],'file':_0x3cead3[_0x474012(0xbc)],'service':summarizeService(_0x3cead3['entry'])},'message':_0x474012(0xc1)+_0x3cead3[_0x474012(0xac)]['serviceCode']+'.'};}},{'service':a33_0x1560b6(0xb7),'command':a33_0x1560b6(0xb9),'description':a33_0x1560b6(0xc4),'risk':a33_0x1560b6(0xea),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x1d64e5=a33_0x1560b6,_0x24913c=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x24913c[_0x1d64e5(0xc6)],'services':_0x24913c[_0x1d64e5(0xaa)](summarizeService)}};}},{'service':a33_0x1560b6(0xb7),'command':a33_0x1560b6(0xe7),'description':'Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','risk':a33_0x1560b6(0xbe),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x44f855){const _0x18846d=a33_0x1560b6,_0xdc476e=getLocalServiceEntry(_0x44f855['str'](_0x18846d(0xb7)));return{'method':_0x18846d(0xe9),'url':getServiceRegistryPath(),'body':{'service':_0x44f855['str'](_0x18846d(0xb7)),'found':Boolean(_0xdc476e),'version':_0xdc476e?.[_0x18846d(0xc7)],'source':_0xdc476e?.[_0x18846d(0xd1)]},'description':_0x18846d(0xe8)};},async 'execute'(_0x4437a4){const _0x4d13a9=a33_0x1560b6,_0x712cd4=removeServiceManifest(_0x4437a4[_0x4d13a9(0xc2)](_0x4d13a9(0xb7)));return{'ok':!![],'data':{'registryPath':_0x712cd4[_0x4d13a9(0xdc)],'serviceCount':_0x712cd4[_0x4d13a9(0xc0)],'service':summarizeService(_0x712cd4['entry'])},'message':_0x4d13a9(0xca)+_0x712cd4[_0x4d13a9(0xac)][_0x4d13a9(0xd0)]+'.'};}},{'service':'service','command':a33_0x1560b6(0xad),'description':'Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','risk':a33_0x1560b6(0xea),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x291611){const _0x4abd58=a33_0x1560b6,_0x38b5f1=getLocalServiceEntry(_0x291611[_0x4abd58(0xc2)](_0x4abd58(0xb7)));if(!_0x38b5f1)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x291611[_0x4abd58(0xc2)](_0x4abd58(0xb7))},'message':_0x4abd58(0xb2)+_0x291611[_0x4abd58(0xc2)]('service')};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x38b5f1),'manifest':_0x38b5f1['manifest'],'normalizedManifest':_0x38b5f1['normalizedManifest']}};}}];
1
+ function a33_0x1f70(){const _0x2e3550=['import','imported','version','8015892tyujjQ','175384fNoQsC','1762578KrtmyF','Imported\x20','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','filePath','reduce','entry','warnings','52685440WpZSZX','read','Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','string','registryPath','serviceCode','kind','Local\x20service\x20code,\x20for\x20example\x20crm','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','manifests','source','Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','3987QASmdH','updated','write','\x20service(s),\x20updated\x20','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','commands','name','Local\x20service\x20not\x20found:\x20','Imported','str','Exported\x20service\x20','registryServiceCode','importedAt','file','registryIndex','Removed\x20service\x20','65JNowTw','export','service','normalizedManifest','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','\x20service(s).','hash','description','list','lower\x20kebab-case\x20service\x20code','length','required','flags','7456Udrwow','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','3386061lvUKtR','Service\x20Tree\x20manifest\x20file\x20path','map','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','type','detail','cliName','errors','risk','Service\x20manifest\x20validation\x20passed.','7qDescJ','Updated','entries','registry','1289219eVRnJU','target','report','cliPath','WRITE','\x20service\x20'];a33_0x1f70=function(){return _0x2e3550;};return a33_0x1f70();}const a33_0x438299=a33_0x578c;(function(_0x497025,_0x73d592){const _0x5a28c5=a33_0x578c,_0x3568d4=_0x497025();while(!![]){try{const _0x47dfb8=-parseInt(_0x5a28c5(0x10a))/0x1+-parseInt(_0x5a28c5(0xc9))/0x2+-parseInt(_0x5a28c5(0xfc))/0x3+-parseInt(_0x5a28c5(0xc8))/0x4*(-parseInt(_0x5a28c5(0xec))/0x5)+-parseInt(_0x5a28c5(0xc7))/0x6*(parseInt(_0x5a28c5(0x106))/0x7)+-parseInt(_0x5a28c5(0xfa))/0x8*(parseInt(_0x5a28c5(0xdc))/0x9)+parseInt(_0x5a28c5(0xd0))/0xa;if(_0x47dfb8===_0x73d592)break;else _0x3568d4['push'](_0x3568d4['shift']());}catch(_0xc4b7dd){_0x3568d4['push'](_0x3568d4['shift']());}}}(a33_0x1f70,0xc0fd9));import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';const FILE_FLAG={'name':a33_0x438299(0xe9),'type':a33_0x438299(0xd3),'required':!![],'description':a33_0x438299(0xfd)},SERVICE_FLAG={'name':a33_0x438299(0xee),'type':a33_0x438299(0xd3),'required':!![],'description':a33_0x438299(0xd7),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a33_0x438299(0xf6)}};function summarizeService(_0x17a4c4){const _0xdc1eae=a33_0x438299;return{'serviceCode':_0x17a4c4[_0xdc1eae(0xd5)],'name':_0x17a4c4[_0xdc1eae(0xef)][_0xdc1eae(0xee)][_0xdc1eae(0xe2)],'version':_0x17a4c4[_0xdc1eae(0xc6)],'importedAt':_0x17a4c4[_0xdc1eae(0xe8)],'source':_0x17a4c4[_0xdc1eae(0xda)],'commandCount':_0x17a4c4[_0xdc1eae(0xef)][_0xdc1eae(0xe1)][_0xdc1eae(0xf7)],'commands':_0x17a4c4['normalizedManifest'][_0xdc1eae(0xe1)][_0xdc1eae(0xfe)](_0x16b37a=>({'path':_0x16b37a[_0xdc1eae(0x10d)],'description':_0x16b37a[_0xdc1eae(0xf4)],'risk':_0x16b37a[_0xdc1eae(0x104)],'target':_0x16b37a[_0xdc1eae(0x10b)],'flags':_0x16b37a[_0xdc1eae(0xf9)][_0xdc1eae(0xfe)](_0x2fd21c=>({'name':_0x2fd21c[_0xdc1eae(0xe2)],'cliName':_0x2fd21c[_0xdc1eae(0x102)],'type':_0x2fd21c[_0xdc1eae(0x100)],'required':_0x2fd21c[_0xdc1eae(0xf8)]===!![]}))}))};}function a33_0x578c(_0x50208d,_0xf327af){_0x50208d=_0x50208d-0xc5;const _0x1f7058=a33_0x1f70();let _0x578c89=_0x1f7058[_0x50208d];return _0x578c89;}function summarizeLoadedManifest(_0x46b9f9){const _0xe69684=a33_0x438299;return{'service':_0x46b9f9[_0xe69684(0xef)]?.['service'],'version':_0x46b9f9[_0xe69684(0xef)]?.[_0xe69684(0xc6)],'commandCount':_0x46b9f9[_0xe69684(0xef)]?.[_0xe69684(0xe1)][_0xe69684(0xf7)]??0x0,'commands':_0x46b9f9['normalizedManifest']?.['commands'][_0xe69684(0xfe)](_0x2198e7=>({'path':_0x2198e7[_0xe69684(0x10d)],'risk':_0x2198e7[_0xe69684(0x104)],'target':_0x2198e7[_0xe69684(0x10b)]}))??[],'registryIndex':_0x46b9f9[_0xe69684(0xea)],'registryServiceCode':_0x46b9f9[_0xe69684(0xe7)],'errors':_0x46b9f9['report'][_0xe69684(0x103)],'warnings':_0x46b9f9[_0xe69684(0x10c)][_0xe69684(0xcf)]};}export const serviceDefinitions=[{'service':'service','command':'validate','description':a33_0x438299(0xfb),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x15dc68){const _0x30179a=a33_0x438299,_0xd19422=loadServiceManifestFromFile(_0x15dc68[_0x30179a(0xe5)]('file'));if(!_0xd19422[_0x30179a(0x10c)]['ok'])return{'ok':![],'data':{'file':_0xd19422[_0x30179a(0xcc)],'hash':_0xd19422[_0x30179a(0xf3)],'kind':_0xd19422['kind'],'serviceCount':_0xd19422['manifests'][_0x30179a(0xf7)],'services':_0xd19422[_0x30179a(0xd9)][_0x30179a(0xfe)](summarizeLoadedManifest),'errors':_0xd19422[_0x30179a(0x10c)][_0x30179a(0x103)],'warnings':_0xd19422[_0x30179a(0x10c)][_0x30179a(0xcf)]},'message':formatValidationFailure(_0xd19422['report'])};if(_0xd19422[_0x30179a(0xd6)]===_0x30179a(0x109)||_0xd19422[_0x30179a(0xd9)][_0x30179a(0xf7)]!==0x1)return{'ok':!![],'data':{'file':_0xd19422['filePath'],'hash':_0xd19422[_0x30179a(0xf3)],'kind':_0xd19422[_0x30179a(0xd6)],'serviceCount':_0xd19422['manifests'][_0x30179a(0xf7)],'commandCount':_0xd19422[_0x30179a(0xd9)][_0x30179a(0xcd)]((_0x1602e5,_0x2ef4aa)=>_0x1602e5+(_0x2ef4aa[_0x30179a(0xef)]?.[_0x30179a(0xe1)][_0x30179a(0xf7)]??0x0),0x0),'services':_0xd19422['manifests'][_0x30179a(0xfe)](summarizeLoadedManifest),'warnings':_0xd19422[_0x30179a(0x10c)][_0x30179a(0xcf)]},'message':'Service\x20registry\x20validation\x20passed.'};return{'ok':!![],'data':{'file':_0xd19422[_0x30179a(0xcc)],'hash':_0xd19422[_0x30179a(0xf3)],'kind':_0xd19422[_0x30179a(0xd6)],'service':_0xd19422[_0x30179a(0xef)]?.[_0x30179a(0xee)],'version':_0xd19422[_0x30179a(0xef)]?.[_0x30179a(0xc6)],'commandCount':_0xd19422[_0x30179a(0xef)]?.[_0x30179a(0xe1)][_0x30179a(0xf7)]??0x0,'commands':_0xd19422[_0x30179a(0xef)]?.['commands'][_0x30179a(0xfe)](_0xb0f5f8=>({'path':_0xb0f5f8[_0x30179a(0x10d)],'risk':_0xb0f5f8['risk'],'target':_0xb0f5f8[_0x30179a(0x10b)]})),'warnings':_0xd19422['report']['warnings']},'message':_0x30179a(0x105)};}},{'service':a33_0x438299(0xee),'command':a33_0x438299(0x110),'description':a33_0x438299(0xf0),'risk':a33_0x438299(0xde),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x26d468){const _0x490bfd=a33_0x438299,_0x2d3d6c=loadServiceManifestFromFile(_0x26d468['str']('file'));return{'method':_0x490bfd(0x10e),'url':getServiceRegistryPath(),'body':{'file':_0x2d3d6c['filePath'],'hash':_0x2d3d6c['hash'],'kind':_0x2d3d6c[_0x490bfd(0xd6)],'ok':_0x2d3d6c[_0x490bfd(0x10c)]['ok'],'service':_0x2d3d6c['normalizedManifest']?.['service'],'version':_0x2d3d6c[_0x490bfd(0xef)]?.[_0x490bfd(0xc6)],'serviceCount':_0x2d3d6c['manifests'][_0x490bfd(0xf7)],'services':_0x2d3d6c[_0x490bfd(0xd9)][_0x490bfd(0xfe)](_0x2fafd8=>({'service':_0x2fafd8['normalizedManifest']?.[_0x490bfd(0xee)],'version':_0x2fafd8['normalizedManifest']?.[_0x490bfd(0xc6)],'commandCount':_0x2fafd8[_0x490bfd(0xef)]?.['commands'][_0x490bfd(0xf7)]??0x0,'errors':_0x2fafd8[_0x490bfd(0x10c)][_0x490bfd(0x103)]})),'errors':_0x2d3d6c[_0x490bfd(0x10c)]['errors'],'commandCount':_0x2d3d6c[_0x490bfd(0xef)]?.['commands']['length']??0x0},'description':_0x490bfd(0xd8)};},async 'execute'(_0x3bf1f7){const _0x5dccfe=a33_0x438299,_0x1fde7d=importServiceManifest(_0x3bf1f7[_0x5dccfe(0xe5)]('file'));if(_0x1fde7d[_0x5dccfe(0x108)][_0x5dccfe(0xf7)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x1fde7d['registryPath'],'imported':_0x1fde7d[_0x5dccfe(0xc5)],'updated':_0x1fde7d[_0x5dccfe(0xdd)],'serviceCount':_0x1fde7d['serviceCount'],'services':_0x1fde7d[_0x5dccfe(0x108)][_0x5dccfe(0xfe)](summarizeService)},'message':_0x5dccfe(0xca)+_0x1fde7d[_0x5dccfe(0xc5)]+_0x5dccfe(0xdf)+_0x1fde7d[_0x5dccfe(0xdd)]+_0x5dccfe(0xf2)};return{'ok':!![],'data':{'registryPath':_0x1fde7d[_0x5dccfe(0xd4)],'replaced':_0x1fde7d['replaced'],'imported':_0x1fde7d['imported'],'updated':_0x1fde7d[_0x5dccfe(0xdd)],'serviceCount':_0x1fde7d['serviceCount'],'service':summarizeService(_0x1fde7d[_0x5dccfe(0xce)])},'message':(_0x1fde7d['replaced']?_0x5dccfe(0x107):_0x5dccfe(0xe4))+_0x5dccfe(0x10f)+_0x1fde7d['entry'][_0x5dccfe(0xd5)]+'.'};}},{'service':a33_0x438299(0xee),'command':a33_0x438299(0xed),'description':a33_0x438299(0xdb),'risk':a33_0x438299(0xde),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x14950b){const _0x55be14=a33_0x438299,_0x492e41=getLocalServiceEntry(_0x14950b[_0x55be14(0xe5)]('service'));return{'method':'WRITE','url':_0x14950b[_0x55be14(0xe5)](_0x55be14(0xe9)),'body':{'service':_0x14950b['str'](_0x55be14(0xee)),'found':Boolean(_0x492e41),'version':_0x492e41?.['version'],'source':_0x492e41?.['source']},'description':_0x55be14(0xcb)};},async 'execute'(_0x1f69c9){const _0x5b5e6c=a33_0x438299,_0xb9ccc4=exportServiceManifest(_0x1f69c9[_0x5b5e6c(0xe5)](_0x5b5e6c(0xee)),_0x1f69c9['str']('file'));return{'ok':!![],'data':{'registryPath':_0xb9ccc4[_0x5b5e6c(0xd4)],'file':_0xb9ccc4[_0x5b5e6c(0xcc)],'service':summarizeService(_0xb9ccc4['entry'])},'message':_0x5b5e6c(0xe6)+_0xb9ccc4['entry'][_0x5b5e6c(0xd5)]+'.'};}},{'service':a33_0x438299(0xee),'command':a33_0x438299(0xf5),'description':a33_0x438299(0xf1),'risk':a33_0x438299(0xd1),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x4431a3=a33_0x438299,_0x382f12=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x382f12[_0x4431a3(0xf7)],'services':_0x382f12['map'](summarizeService)}};}},{'service':'service','command':'remove','description':a33_0x438299(0xd2),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x315024){const _0x4636fc=a33_0x438299,_0x491b2f=getLocalServiceEntry(_0x315024[_0x4636fc(0xe5)](_0x4636fc(0xee)));return{'method':_0x4636fc(0x10e),'url':getServiceRegistryPath(),'body':{'service':_0x315024[_0x4636fc(0xe5)](_0x4636fc(0xee)),'found':Boolean(_0x491b2f),'version':_0x491b2f?.['version'],'source':_0x491b2f?.[_0x4636fc(0xda)]},'description':_0x4636fc(0xff)};},async 'execute'(_0xd44d08){const _0x516cd2=a33_0x438299,_0x1e3ce9=removeServiceManifest(_0xd44d08[_0x516cd2(0xe5)]('service'));return{'ok':!![],'data':{'registryPath':_0x1e3ce9[_0x516cd2(0xd4)],'serviceCount':_0x1e3ce9['serviceCount'],'service':summarizeService(_0x1e3ce9[_0x516cd2(0xce)])},'message':_0x516cd2(0xeb)+_0x1e3ce9[_0x516cd2(0xce)][_0x516cd2(0xd5)]+'.'};}},{'service':a33_0x438299(0xee),'command':a33_0x438299(0x101),'description':a33_0x438299(0xe0),'risk':a33_0x438299(0xd1),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x4aee0a){const _0x10c1bf=a33_0x438299,_0x3a4017=getLocalServiceEntry(_0x4aee0a['str'](_0x10c1bf(0xee)));if(!_0x3a4017)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x4aee0a[_0x10c1bf(0xe5)](_0x10c1bf(0xee))},'message':_0x10c1bf(0xe3)+_0x4aee0a[_0x10c1bf(0xe5)]('service')};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x3a4017),'manifest':_0x3a4017['manifest'],'normalizedManifest':_0x3a4017['normalizedManifest']}};}}];
@@ -1 +1 @@
1
- function a34_0x2954(){const _0x4a4ef6=['6722045TWYAoa','sort','8141mGVJNR','validation','localeCompare','$.services[','push','missing','report','schemaVersion','slice','path','services\x20must\x20be\x20an\x20array','command','updatedAt','1323459szqpgM','string','now','manifest','CliError','Service\x20manifest\x20validation\x20failed:\x0a','message','hex','description','importedAt','parse','430661BAoDtF','64ioZjtN','Remove\x20or\x20migrate\x20','Unsupported\x20service\x20registry\x20schemaVersion:\x20','].manifest','registryIndex','].manifest.','commands','join','digest','sha256','service.json','trim','map','isArray','invalid','services','length','manifests','filePath','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','flatMap','target','serviceCode','utf8','1265982DcluQy','object','29806ptFkSJ','4EETIOS','version','10908360MPfgoo','toISOString','reduce','name','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','commandCount','source','file','Invalid\x20service\x20registry\x20JSON:\x20','normalizedManifest','registry','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','startsWith','risk','324jkBDup','findIndex','4026KVKBXG','sourceHash','.tmp','Local\x20service\x20not\x20found:\x20','homeDirName','errors','find','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','empty','39pzGBlx','service','stringify','warnings'];a34_0x2954=function(){return _0x4a4ef6;};return a34_0x2954();}const a34_0x2622f0=a34_0x34df;(function(_0x475acd,_0x6bdfb9){const _0x3ad31c=a34_0x34df,_0x34e482=_0x475acd();while(!![]){try{const _0x4763eb=parseInt(_0x3ad31c(0x1e5))/0x1*(-parseInt(_0x3ad31c(0x1c9))/0x2)+-parseInt(_0x3ad31c(0x1c7))/0x3+-parseInt(_0x3ad31c(0x1ca))/0x4*(-parseInt(_0x3ad31c(0x1e9))/0x5)+-parseInt(_0x3ad31c(0x1dc))/0x6*(parseInt(_0x3ad31c(0x196))/0x7)+parseInt(_0x3ad31c(0x1af))/0x8*(parseInt(_0x3ad31c(0x1a3))/0x9)+-parseInt(_0x3ad31c(0x1cc))/0xa+-parseInt(_0x3ad31c(0x1ae))/0xb*(-parseInt(_0x3ad31c(0x1da))/0xc);if(_0x4763eb===_0x6bdfb9)break;else _0x34e482['push'](_0x34e482['shift']());}catch(_0x47a494){_0x34e482['push'](_0x34e482['shift']());}}}(a34_0x2954,0xabbf2));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';function a34_0x34df(_0x59fbbc,_0x952d65){_0x59fbbc=_0x59fbbc-0x196;const _0x29541a=a34_0x2954();let _0x34df02=_0x29541a[_0x59fbbc];return _0x34df02;}import{CliErrors}from'../../errors.js';export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;export const SERVICE_REGISTRY_FILE_NAME=a34_0x2622f0(0x1b9);export function getServiceRegistryPath(_0x1fbfc4={}){const _0x500132=a34_0x2622f0;return resolve(_0x1fbfc4['homeDir']??homedir(),PRODUCT_CONFIG[_0x500132(0x1e0)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x4f7358={}){const _0x20d8e5=a34_0x2622f0,_0x1fbe53=getServiceRegistryPath(_0x4f7358);if(!existsSync(_0x1fbe53))return emptyServiceRegistry();try{const _0x50535b=readFileSync(_0x1fbe53,_0x20d8e5(0x1c6));if(!_0x50535b['trim']())return emptyServiceRegistry();const _0x1487d2=JSON[_0x20d8e5(0x1ad)](_0x50535b);if(_0x1487d2[_0x20d8e5(0x19d)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x20d8e5(0x197)](_0x20d8e5(0x1b1)+String(_0x1487d2[_0x20d8e5(0x19d)]),_0x20d8e5(0x1b0)+_0x1fbe53+'.');if(!Array[_0x20d8e5(0x1bc)](_0x1487d2['services']))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x1487d2[_0x20d8e5(0x1a2)],'services':_0x1487d2['services']};}catch(_0x2e531d){if(_0x2e531d instanceof Error&&_0x2e531d[_0x20d8e5(0x1cf)]===_0x20d8e5(0x1a7))throw _0x2e531d;throw CliErrors['validation'](_0x20d8e5(0x1d4)+_0x1fbe53,_0x20d8e5(0x1e3));}}export function writeServiceRegistry(_0x15c296,_0x3418c2={}){const _0x3aabdf=a34_0x2622f0,_0x3441a4=getServiceRegistryPath(_0x3418c2),_0xbcc5ba=dirname(_0x3441a4);!existsSync(_0xbcc5ba)&&mkdirSync(_0xbcc5ba,{'recursive':!![]});const _0x51be67=_0x3441a4+_0x3aabdf(0x1de);try{writeFileSync(_0x51be67,JSON[_0x3aabdf(0x1e7)](_0x15c296,null,0x2)+'\x0a',{'encoding':_0x3aabdf(0x1c6),'mode':0x180}),renameSync(_0x51be67,_0x3441a4);}catch(_0x3cba88){try{unlinkSync(_0x51be67);}catch{}if(_0x3cba88?.['code']==='ENOENT')throw CliErrors[_0x3aabdf(0x197)]('Cannot\x20write\x20service\x20registry:\x20'+_0x3441a4);throw _0x3cba88;}return _0x3441a4;}export function loadServiceManifestFromFile(_0x356342){const _0x4c0b9c=a34_0x2622f0,_0xfa82c0=resolve(_0x356342);if(!existsSync(_0xfa82c0))throw CliErrors[_0x4c0b9c(0x197)]('Service\x20manifest\x20file\x20not\x20found:\x20'+_0x356342);let _0x3d3d5d;const _0x45783b=readFileSync(_0xfa82c0,_0x4c0b9c(0x1c6));try{_0x3d3d5d=JSON[_0x4c0b9c(0x1ad)](_0x45783b);}catch{throw CliErrors[_0x4c0b9c(0x197)]('Invalid\x20service\x20manifest\x20JSON:\x20'+_0x356342,'Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.');}const _0x2ae053=sha256(_0x45783b),_0x59f09e=extractLoadedServiceManifests(_0x3d3d5d,_0x2ae053),_0x2f0c0a=aggregateValidationReports(_0x59f09e),_0x5b0d84=_0x59f09e[0x0];return{'filePath':_0xfa82c0,'hash':_0x2ae053,'kind':isServiceRegistryLike(_0x3d3d5d)?_0x4c0b9c(0x1d6):_0x4c0b9c(0x1a6),'manifest':_0x5b0d84?.['manifest']??_0x3d3d5d,'report':_0x2f0c0a,'normalizedManifest':_0x59f09e[_0x4c0b9c(0x1bf)]===0x1?_0x5b0d84?.[_0x4c0b9c(0x1d5)]:undefined,'manifests':_0x59f09e};}export function importServiceManifest(_0x10cb0b,_0x5c65a6={}){const _0x4bc174=a34_0x2622f0,_0xafeb0e=loadServiceManifestFromFile(_0x10cb0b);if(!_0xafeb0e[_0x4bc174(0x19c)]['ok'])throw CliErrors[_0x4bc174(0x197)](formatValidationFailure(_0xafeb0e[_0x4bc174(0x19c)]),_0x4bc174(0x1d7));if(_0xafeb0e[_0x4bc174(0x1c0)]['length']===0x0)throw CliErrors[_0x4bc174(0x197)]('Service\x20registry\x20has\x20no\x20services\x20to\x20import.',_0x4bc174(0x1c2));const _0x1ffda8=readServiceRegistry(_0x5c65a6),_0x4fe830=(_0x5c65a6['now']??(()=>new Date()))()[_0x4bc174(0x1cd)](),_0x41fe68=[];let _0x1e210b=0x0,_0xcf0d2f=0x0;for(const _0x53741e of _0xafeb0e[_0x4bc174(0x1c0)]){if(!_0x53741e[_0x4bc174(0x1d5)])continue;const _0x184f45=_0x53741e[_0x4bc174(0x1d5)][_0x4bc174(0x1e6)]['code'],_0x41c5e1={'serviceCode':_0x184f45,'version':_0x53741e[_0x4bc174(0x1d5)][_0x4bc174(0x1cb)],'importedAt':_0x4fe830,'source':{'type':_0x4bc174(0x1d3),'path':_0xafeb0e[_0x4bc174(0x1c1)],'hash':_0x53741e[_0x4bc174(0x1dd)]},'manifest':_0x53741e['manifest'],'normalizedManifest':_0x53741e[_0x4bc174(0x1d5)]},_0x5f4660=_0x1ffda8[_0x4bc174(0x1be)][_0x4bc174(0x1db)](_0xfc90b6=>_0xfc90b6['serviceCode']===_0x184f45);_0x5f4660>=0x0?(_0x1ffda8[_0x4bc174(0x1be)][_0x5f4660]=_0x41c5e1,_0xcf0d2f++):(_0x1ffda8['services'][_0x4bc174(0x19a)](_0x41c5e1),_0x1e210b++),_0x41fe68[_0x4bc174(0x19a)](_0x41c5e1);}_0x1ffda8[_0x4bc174(0x1be)][_0x4bc174(0x1ea)]((_0x3d08b5,_0x37ee99)=>_0x3d08b5['serviceCode'][_0x4bc174(0x198)](_0x37ee99[_0x4bc174(0x1c5)])),_0x1ffda8[_0x4bc174(0x1a2)]=_0x4fe830;const _0x56f363=writeServiceRegistry(_0x1ffda8,_0x5c65a6);return{'registryPath':_0x56f363,'entry':_0x41fe68[0x0],'replaced':_0x41fe68['length']===0x1?_0xcf0d2f===0x1:_0xcf0d2f>0x0,'entries':_0x41fe68,'imported':_0x1e210b,'updated':_0xcf0d2f,'serviceCount':_0x1ffda8['services'][_0x4bc174(0x1bf)]};}export function exportServiceManifest(_0x416bea,_0x1e7edd,_0x2d2da5={}){const _0x3f8699=a34_0x2622f0,_0x1b14ae=getServiceRegistryPath(_0x2d2da5),_0x2ab47f=getLocalServiceEntry(_0x416bea,_0x2d2da5);if(!_0x2ab47f)throw CliErrors['validation'](_0x3f8699(0x1df)+_0x416bea,_0x3f8699(0x1d0));const _0x1ee610=resolve(_0x1e7edd),_0x3f7cf9=dirname(_0x1ee610);return!existsSync(_0x3f7cf9)&&mkdirSync(_0x3f7cf9,{'recursive':!![]}),writeFileSync(_0x1ee610,JSON[_0x3f8699(0x1e7)](_0x2ab47f['manifest'],null,0x2)+'\x0a',{'encoding':_0x3f8699(0x1c6),'mode':0x180}),{'registryPath':_0x1b14ae,'filePath':_0x1ee610,'entry':_0x2ab47f};}export function removeServiceManifest(_0x4ae7d0,_0x1b88a5={}){const _0x267efd=a34_0x2622f0,_0x2f4015=readServiceRegistry(_0x1b88a5),_0x2f43db=_0x4ae7d0['trim'](),_0x4aeeef=_0x2f4015[_0x267efd(0x1be)][_0x267efd(0x1db)](_0x54e234=>_0x54e234['serviceCode']===_0x2f43db);if(_0x4aeeef<0x0)throw CliErrors[_0x267efd(0x197)]('Local\x20service\x20not\x20found:\x20'+_0x2f43db,_0x267efd(0x1d0));const [_0x3101fd]=_0x2f4015['services']['splice'](_0x4aeeef,0x1),_0x4fb3f9=(_0x1b88a5[_0x267efd(0x1a5)]??(()=>new Date()))()[_0x267efd(0x1cd)]();_0x2f4015[_0x267efd(0x1a2)]=_0x4fb3f9;const _0xf6adfe=writeServiceRegistry(_0x2f4015,_0x1b88a5);return{'registryPath':_0xf6adfe,'entry':_0x3101fd,'serviceCount':_0x2f4015[_0x267efd(0x1be)][_0x267efd(0x1bf)]};}export function listLocalServices(_0x3f140f={}){const _0x91499f=a34_0x2622f0;return readServiceRegistry(_0x3f140f)[_0x91499f(0x1be)];}export function getLocalServiceEntry(_0x229096,_0x1e93b5={}){const _0x50148f=a34_0x2622f0;return readServiceRegistry(_0x1e93b5)[_0x50148f(0x1be)][_0x50148f(0x1e2)](_0x5562d7=>_0x5562d7[_0x50148f(0x1c5)]===_0x229096['trim']());}export function listLocalServiceTrees(_0x16d771={}){const _0x2255ee=a34_0x2622f0;return readServiceRegistry(_0x16d771)['services'][_0x2255ee(0x1bb)](_0x177957=>_0x177957['normalizedManifest']);}export function inspectServiceRegistry(_0x49351c={}){const _0x1d219d=a34_0x2622f0,_0x5e5125=getServiceRegistryPath(_0x49351c);if(!existsSync(_0x5e5125))return emptyServiceRegistryInspection(_0x5e5125,_0x1d219d(0x19b),![]);try{const _0x3ad8d7=readFileSync(_0x5e5125,_0x1d219d(0x1c6));if(!_0x3ad8d7[_0x1d219d(0x1ba)]())return emptyServiceRegistryInspection(_0x5e5125,_0x1d219d(0x1e4),!![]);const _0x6289ed=JSON[_0x1d219d(0x1ad)](_0x3ad8d7);if(_0x6289ed[_0x1d219d(0x19d)]!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x5e5125,_0x1d219d(0x1bd),!![]),'schemaVersion':_0x6289ed[_0x1d219d(0x19d)],'message':'Unsupported\x20schemaVersion:\x20'+String(_0x6289ed['schemaVersion'])};if(!Array[_0x1d219d(0x1bc)](_0x6289ed[_0x1d219d(0x1be)]))return{...emptyServiceRegistryInspection(_0x5e5125,'invalid',!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x6289ed[_0x1d219d(0x1a2)],'message':_0x1d219d(0x1a0)};const _0x7f6d7a=_0x6289ed[_0x1d219d(0x1be)][_0x1d219d(0x1bb)](summarizeLocalServiceEntry);return{'registryPath':_0x5e5125,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x6289ed[_0x1d219d(0x1a2)],'serviceCount':_0x7f6d7a[_0x1d219d(0x1bf)],'commandCount':_0x7f6d7a[_0x1d219d(0x1ce)]((_0x1289ee,_0x4dcae9)=>_0x1289ee+_0x4dcae9[_0x1d219d(0x1d1)],0x0),'services':_0x7f6d7a};}catch(_0x3182e5){return{...emptyServiceRegistryInspection(_0x5e5125,_0x1d219d(0x1bd),!![]),'message':_0x3182e5 instanceof Error?_0x3182e5[_0x1d219d(0x1a9)]:String(_0x3182e5)};}}export function formatValidationFailure(_0x587cf2){const _0x16ae43=a34_0x2622f0,_0x33ccfd=_0x587cf2[_0x16ae43(0x1e1)][_0x16ae43(0x1bb)](_0x3bfb12=>_0x3bfb12[_0x16ae43(0x19f)]+':\x20'+_0x3bfb12[_0x16ae43(0x1a9)]);return _0x16ae43(0x1a8)+_0x33ccfd[_0x16ae43(0x1b6)]('\x0a');}function extractLoadedServiceManifests(_0x37b406,_0x435d37){const _0x3c35fd=a34_0x2622f0;if(!isServiceRegistryLike(_0x37b406)){const _0x207a68=_0x37b406,_0x3bd14f=validateServiceTreeManifest(_0x207a68);return[{'manifest':_0x207a68,'report':_0x3bd14f,'normalizedManifest':_0x3bd14f['ok']?normalizeServiceTreeManifest(_0x207a68):undefined,'sourceHash':_0x435d37}];}return _0x37b406['services'][_0x3c35fd(0x1bb)]((_0x53398d,_0x486f1d)=>{const _0x132c9e=_0x3c35fd,_0x312177=isObjectRecord(_0x53398d)?_0x53398d[_0x132c9e(0x1a6)]:undefined,_0xb51e3e=validateServiceTreeManifest(_0x312177),_0x33f505=isObjectRecord(_0x53398d)&&typeof _0x53398d[_0x132c9e(0x1c5)]===_0x132c9e(0x1a4)?_0x53398d[_0x132c9e(0x1c5)]:undefined;return{'manifest':_0x312177,'report':_0xb51e3e,'normalizedManifest':_0xb51e3e['ok']?normalizeServiceTreeManifest(_0x312177):undefined,'sourceHash':sha256(JSON[_0x132c9e(0x1e7)](_0x312177,null,0x2)+'\x0a'),'registryIndex':_0x486f1d,'registryServiceCode':_0x33f505};});}function aggregateValidationReports(_0x32af89){const _0x563b5e=a34_0x2622f0,_0x478218=_0x32af89['flatMap'](_0x66f26=>_0x66f26[_0x563b5e(0x1b3)]===undefined?_0x66f26[_0x563b5e(0x19c)][_0x563b5e(0x1e1)]:_0x66f26['report'][_0x563b5e(0x1e1)][_0x563b5e(0x1bb)](_0x44e030=>({..._0x44e030,'path':prefixRegistryIssuePath(_0x66f26[_0x563b5e(0x1b3)],_0x44e030[_0x563b5e(0x19f)])}))),_0x3524c7=_0x32af89[_0x563b5e(0x1c3)](_0x2b17d6=>_0x2b17d6['registryIndex']===undefined?_0x2b17d6['report'][_0x563b5e(0x1e8)]:_0x2b17d6[_0x563b5e(0x19c)][_0x563b5e(0x1e8)][_0x563b5e(0x1bb)](_0x281d52=>({..._0x281d52,'path':prefixRegistryIssuePath(_0x2b17d6['registryIndex'],_0x281d52[_0x563b5e(0x19f)])})));return{'ok':_0x478218[_0x563b5e(0x1bf)]===0x0,'errors':_0x478218,'warnings':_0x3524c7};}function prefixRegistryIssuePath(_0x5405b8,_0x51e9cc){const _0x49e5be=a34_0x2622f0;if(_0x51e9cc==='$')return _0x49e5be(0x199)+_0x5405b8+_0x49e5be(0x1b2);if(_0x51e9cc[_0x49e5be(0x1d8)]('$.'))return _0x49e5be(0x199)+_0x5405b8+_0x49e5be(0x1b2)+_0x51e9cc[_0x49e5be(0x19e)](0x1);if(_0x51e9cc[_0x49e5be(0x1d8)]('$['))return'$.services['+_0x5405b8+'].manifest'+_0x51e9cc['slice'](0x1);return _0x49e5be(0x199)+_0x5405b8+_0x49e5be(0x1b4)+_0x51e9cc;}function isServiceRegistryLike(_0x3db160){const _0x4fb3bd=a34_0x2622f0;return isObjectRecord(_0x3db160)&&_0x3db160[_0x4fb3bd(0x19d)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x4fb3bd(0x1bc)](_0x3db160['services']);}function isObjectRecord(_0x5c4906){const _0x414942=a34_0x2622f0;return Boolean(_0x5c4906)&&typeof _0x5c4906===_0x414942(0x1c8)&&!Array[_0x414942(0x1bc)](_0x5c4906);}function emptyServiceRegistryInspection(_0x250a06,_0x4a2099,_0xa90111){return{'registryPath':_0x250a06,'exists':_0xa90111,'status':_0x4a2099,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x52fa1b){const _0x3d7390=a34_0x2622f0,_0x578b03=_0x52fa1b[_0x3d7390(0x1d5)],_0x29a81f=_0x578b03[_0x3d7390(0x1b5)][_0x3d7390(0x1bb)](_0x251db9=>({'path':_0x251db9['cliPath'],'description':_0x251db9[_0x3d7390(0x1ab)],'risk':_0x251db9[_0x3d7390(0x1d9)],'targetKind':_0x251db9[_0x3d7390(0x1c4)]['kind'],'targetCommand':_0x251db9[_0x3d7390(0x1c4)][_0x3d7390(0x1a1)]}));return{'serviceCode':_0x52fa1b[_0x3d7390(0x1c5)],'name':_0x578b03[_0x3d7390(0x1e6)][_0x3d7390(0x1cf)],'description':_0x578b03[_0x3d7390(0x1e6)][_0x3d7390(0x1ab)],'version':_0x52fa1b[_0x3d7390(0x1cb)],'importedAt':_0x52fa1b[_0x3d7390(0x1ac)],'source':_0x52fa1b[_0x3d7390(0x1d2)],'commandCount':_0x29a81f['length'],'commands':_0x29a81f};}function sha256(_0x5b5262){const _0x2a5616=a34_0x2622f0;return createHash(_0x2a5616(0x1b8))['update'](_0x5b5262)[_0x2a5616(0x1b7)](_0x2a5616(0x1aa));}
1
+ const a34_0x560471=a34_0x490f;(function(_0x3b2344,_0x4e411c){const _0x5c7db6=a34_0x490f,_0x264987=_0x3b2344();while(!![]){try{const _0x582791=-parseInt(_0x5c7db6(0x1d1))/0x1*(parseInt(_0x5c7db6(0x1ae))/0x2)+-parseInt(_0x5c7db6(0x1e3))/0x3*(parseInt(_0x5c7db6(0x1b5))/0x4)+-parseInt(_0x5c7db6(0x1b8))/0x5*(parseInt(_0x5c7db6(0x1b6))/0x6)+-parseInt(_0x5c7db6(0x1ee))/0x7*(parseInt(_0x5c7db6(0x1ef))/0x8)+parseInt(_0x5c7db6(0x1dc))/0x9*(-parseInt(_0x5c7db6(0x1ce))/0xa)+parseInt(_0x5c7db6(0x1cd))/0xb+parseInt(_0x5c7db6(0x1b7))/0xc;if(_0x582791===_0x4e411c)break;else _0x264987['push'](_0x264987['shift']());}catch(_0x355329){_0x264987['push'](_0x264987['shift']());}}}(a34_0x4d5d,0x54f92));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';function a34_0x4d5d(){const _0x3e7566=['length','target','invalid','manifest','sort','risk','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','1113ucZGbk','23656QEzFHX','path','stringify','message','startsWith','Invalid\x20service\x20manifest\x20JSON:\x20','map','].manifest','service','code','toISOString','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','localeCompare','serviceCode','ENOENT','file','Service\x20manifest\x20validation\x20failed:\x0a','Invalid\x20service\x20registry\x20JSON:\x20','homeDirName','importedAt','update','services\x20must\x20be\x20an\x20array','kind','object','Unsupported\x20service\x20registry\x20schemaVersion:\x20','empty','registryIndex','15284XTzcpb','cliPath','Service\x20manifest\x20file\x20not\x20found:\x20','$.services[','manifests','push','join','599300crQniF','2348328ToTQry','18533748ZuLZmU','5uGmHfr','trim','CliError','command','schemaVersion','Cannot\x20write\x20service\x20registry:\x20','sourceHash','slice','now','findIndex','utf8','normalizedManifest','homeDir','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','find','report','splice','errors','hex','validation','Remove\x20or\x20migrate\x20','1879405zTpSLz','425780RYOKfp','Local\x20service\x20not\x20found:\x20','warnings','2ktqeZd','flatMap','registry','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','].manifest.','.tmp','isArray','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','name','service.json','72lNwzjb','reduce','commandCount','services','filePath','missing','parse','3hNHmVO','version','updatedAt','description'];a34_0x4d5d=function(){return _0x3e7566;};return a34_0x4d5d();}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';export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;export const SERVICE_REGISTRY_FILE_NAME=a34_0x560471(0x1db);export function getServiceRegistryPath(_0x493843={}){const _0x12a588=a34_0x560471;return resolve(_0x493843[_0x12a588(0x1c4)]??homedir(),PRODUCT_CONFIG[_0x12a588(0x1a5)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x234bd0={}){const _0x2535fe=a34_0x560471,_0x1394e7=getServiceRegistryPath(_0x234bd0);if(!existsSync(_0x1394e7))return emptyServiceRegistry();try{const _0x3467fe=readFileSync(_0x1394e7,_0x2535fe(0x1c2));if(!_0x3467fe['trim']())return emptyServiceRegistry();const _0x38e7e3=JSON[_0x2535fe(0x1e2)](_0x3467fe);if(_0x38e7e3[_0x2535fe(0x1bc)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x2535fe(0x1cb)](_0x2535fe(0x1ab)+String(_0x38e7e3[_0x2535fe(0x1bc)]),_0x2535fe(0x1cc)+_0x1394e7+'.');if(!Array[_0x2535fe(0x1d7)](_0x38e7e3[_0x2535fe(0x1df)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x38e7e3['updatedAt'],'services':_0x38e7e3['services']};}catch(_0x16211f){if(_0x16211f instanceof Error&&_0x16211f[_0x2535fe(0x1da)]===_0x2535fe(0x1ba))throw _0x16211f;throw CliErrors[_0x2535fe(0x1cb)](_0x2535fe(0x1a4)+_0x1394e7,_0x2535fe(0x1d8));}}export function writeServiceRegistry(_0x19c3af,_0x1aa2b6={}){const _0x11ee2b=a34_0x560471,_0x4e3015=getServiceRegistryPath(_0x1aa2b6),_0x2215d8=dirname(_0x4e3015);!existsSync(_0x2215d8)&&mkdirSync(_0x2215d8,{'recursive':!![]});const _0x40837c=_0x4e3015+_0x11ee2b(0x1d6);try{writeFileSync(_0x40837c,JSON['stringify'](_0x19c3af,null,0x2)+'\x0a',{'encoding':_0x11ee2b(0x1c2),'mode':0x180}),renameSync(_0x40837c,_0x4e3015);}catch(_0x192a0c){try{unlinkSync(_0x40837c);}catch{}if(_0x192a0c?.['code']===_0x11ee2b(0x1a1))throw CliErrors[_0x11ee2b(0x1cb)](_0x11ee2b(0x1bd)+_0x4e3015);throw _0x192a0c;}return _0x4e3015;}export function loadServiceManifestFromFile(_0x31641e){const _0x5397fb=a34_0x560471,_0x277296=resolve(_0x31641e);if(!existsSync(_0x277296))throw CliErrors[_0x5397fb(0x1cb)](_0x5397fb(0x1b0)+_0x31641e);let _0x2fe0fc;const _0x52d4fe=readFileSync(_0x277296,_0x5397fb(0x1c2));try{_0x2fe0fc=JSON['parse'](_0x52d4fe);}catch{throw CliErrors[_0x5397fb(0x1cb)](_0x5397fb(0x198)+_0x31641e,_0x5397fb(0x1d9));}const _0x34c28e=sha256(_0x52d4fe),_0x103218=extractLoadedServiceManifests(_0x2fe0fc,_0x34c28e),_0x4132c4=aggregateValidationReports(_0x103218),_0x1f9b79=_0x103218[0x0];return{'filePath':_0x277296,'hash':_0x34c28e,'kind':isServiceRegistryLike(_0x2fe0fc)?_0x5397fb(0x1d3):_0x5397fb(0x1ea),'manifest':_0x1f9b79?.[_0x5397fb(0x1ea)]??_0x2fe0fc,'report':_0x4132c4,'normalizedManifest':_0x103218[_0x5397fb(0x1e7)]===0x1?_0x1f9b79?.[_0x5397fb(0x1c3)]:undefined,'manifests':_0x103218};}export function importServiceManifest(_0x351bf1,_0x388d27={}){const _0x12718e=a34_0x560471,_0x204d0c=loadServiceManifestFromFile(_0x351bf1);if(!_0x204d0c[_0x12718e(0x1c7)]['ok'])throw CliErrors['validation'](formatValidationFailure(_0x204d0c[_0x12718e(0x1c7)]),_0x12718e(0x1c5));if(_0x204d0c[_0x12718e(0x1b2)]['length']===0x0)throw CliErrors[_0x12718e(0x1cb)](_0x12718e(0x19e),_0x12718e(0x1ed));const _0x5a6b00=readServiceRegistry(_0x388d27),_0x58e7c9=(_0x388d27[_0x12718e(0x1c0)]??(()=>new Date()))()['toISOString'](),_0x11f9f2=[];let _0x4a4f0a=0x0,_0x14ab57=0x0;for(const _0x5d0a38 of _0x204d0c[_0x12718e(0x1b2)]){if(!_0x5d0a38[_0x12718e(0x1c3)])continue;const _0x2a3da5=_0x5d0a38[_0x12718e(0x1c3)][_0x12718e(0x19b)][_0x12718e(0x19c)],_0x4755ea={'serviceCode':_0x2a3da5,'version':_0x5d0a38[_0x12718e(0x1c3)]['version'],'importedAt':_0x58e7c9,'source':{'type':_0x12718e(0x1a2),'path':_0x204d0c[_0x12718e(0x1e0)],'hash':_0x5d0a38[_0x12718e(0x1be)]},'manifest':_0x5d0a38[_0x12718e(0x1ea)],'normalizedManifest':_0x5d0a38[_0x12718e(0x1c3)]},_0x41d0ce=_0x5a6b00['services'][_0x12718e(0x1c1)](_0x1b442b=>_0x1b442b[_0x12718e(0x1a0)]===_0x2a3da5);_0x41d0ce>=0x0?(_0x5a6b00[_0x12718e(0x1df)][_0x41d0ce]=_0x4755ea,_0x14ab57++):(_0x5a6b00['services'][_0x12718e(0x1b3)](_0x4755ea),_0x4a4f0a++),_0x11f9f2[_0x12718e(0x1b3)](_0x4755ea);}_0x5a6b00[_0x12718e(0x1df)][_0x12718e(0x1eb)]((_0x531853,_0x34b03c)=>_0x531853[_0x12718e(0x1a0)][_0x12718e(0x19f)](_0x34b03c[_0x12718e(0x1a0)])),_0x5a6b00[_0x12718e(0x1e5)]=_0x58e7c9;const _0x15899a=writeServiceRegistry(_0x5a6b00,_0x388d27);return{'registryPath':_0x15899a,'entry':_0x11f9f2[0x0],'replaced':_0x11f9f2[_0x12718e(0x1e7)]===0x1?_0x14ab57===0x1:_0x14ab57>0x0,'entries':_0x11f9f2,'imported':_0x4a4f0a,'updated':_0x14ab57,'serviceCount':_0x5a6b00[_0x12718e(0x1df)][_0x12718e(0x1e7)]};}export function exportServiceManifest(_0x1e078d,_0x521f95,_0x3ef334={}){const _0x2f6cff=a34_0x560471,_0xe29139=getServiceRegistryPath(_0x3ef334),_0x3c66af=getLocalServiceEntry(_0x1e078d,_0x3ef334);if(!_0x3c66af)throw CliErrors[_0x2f6cff(0x1cb)]('Local\x20service\x20not\x20found:\x20'+_0x1e078d,_0x2f6cff(0x1d4));const _0x14b70f=resolve(_0x521f95),_0x14ab3b=dirname(_0x14b70f);return!existsSync(_0x14ab3b)&&mkdirSync(_0x14ab3b,{'recursive':!![]}),writeFileSync(_0x14b70f,JSON[_0x2f6cff(0x1f1)](_0x3c66af[_0x2f6cff(0x1ea)],null,0x2)+'\x0a',{'encoding':_0x2f6cff(0x1c2),'mode':0x180}),{'registryPath':_0xe29139,'filePath':_0x14b70f,'entry':_0x3c66af};}export function removeServiceManifest(_0x1d94c7,_0x3d1394={}){const _0x46058e=a34_0x560471,_0x38a662=readServiceRegistry(_0x3d1394),_0x47ad7a=_0x1d94c7['trim'](),_0x34ca4a=_0x38a662['services'][_0x46058e(0x1c1)](_0x3f7ff5=>_0x3f7ff5[_0x46058e(0x1a0)]===_0x47ad7a);if(_0x34ca4a<0x0)throw CliErrors[_0x46058e(0x1cb)](_0x46058e(0x1cf)+_0x47ad7a,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const [_0x4d3efe]=_0x38a662[_0x46058e(0x1df)][_0x46058e(0x1c8)](_0x34ca4a,0x1),_0x166ac4=(_0x3d1394['now']??(()=>new Date()))()[_0x46058e(0x19d)]();_0x38a662['updatedAt']=_0x166ac4;const _0x1937f7=writeServiceRegistry(_0x38a662,_0x3d1394);return{'registryPath':_0x1937f7,'entry':_0x4d3efe,'serviceCount':_0x38a662[_0x46058e(0x1df)]['length']};}export function listLocalServices(_0x50f44b={}){const _0x528950=a34_0x560471;return readServiceRegistry(_0x50f44b)[_0x528950(0x1df)];}export function getLocalServiceEntry(_0xac3f28,_0x2d504d={}){const _0x57db26=a34_0x560471;return readServiceRegistry(_0x2d504d)[_0x57db26(0x1df)][_0x57db26(0x1c6)](_0x4a4d27=>_0x4a4d27['serviceCode']===_0xac3f28[_0x57db26(0x1b9)]());}export function listLocalServiceTrees(_0x4666bb={}){const _0x4ba113=a34_0x560471;return readServiceRegistry(_0x4666bb)[_0x4ba113(0x1df)][_0x4ba113(0x199)](_0x386918=>_0x386918['normalizedManifest']);}export function inspectServiceRegistry(_0xc38b30={}){const _0x4c107a=a34_0x560471,_0x15a3ec=getServiceRegistryPath(_0xc38b30);if(!existsSync(_0x15a3ec))return emptyServiceRegistryInspection(_0x15a3ec,_0x4c107a(0x1e1),![]);try{const _0x57071d=readFileSync(_0x15a3ec,'utf8');if(!_0x57071d[_0x4c107a(0x1b9)]())return emptyServiceRegistryInspection(_0x15a3ec,_0x4c107a(0x1ac),!![]);const _0x55e75f=JSON['parse'](_0x57071d);if(_0x55e75f['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x15a3ec,'invalid',!![]),'schemaVersion':_0x55e75f[_0x4c107a(0x1bc)],'message':'Unsupported\x20schemaVersion:\x20'+String(_0x55e75f[_0x4c107a(0x1bc)])};if(!Array['isArray'](_0x55e75f[_0x4c107a(0x1df)]))return{...emptyServiceRegistryInspection(_0x15a3ec,_0x4c107a(0x1e9),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x55e75f[_0x4c107a(0x1e5)],'message':_0x4c107a(0x1a8)};const _0x8c661a=_0x55e75f[_0x4c107a(0x1df)][_0x4c107a(0x199)](summarizeLocalServiceEntry);return{'registryPath':_0x15a3ec,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x55e75f['updatedAt'],'serviceCount':_0x8c661a[_0x4c107a(0x1e7)],'commandCount':_0x8c661a[_0x4c107a(0x1dd)]((_0x4f4f55,_0x1d7e0c)=>_0x4f4f55+_0x1d7e0c[_0x4c107a(0x1de)],0x0),'services':_0x8c661a};}catch(_0x71e913){return{...emptyServiceRegistryInspection(_0x15a3ec,_0x4c107a(0x1e9),!![]),'message':_0x71e913 instanceof Error?_0x71e913['message']:String(_0x71e913)};}}export function formatValidationFailure(_0x22b364){const _0x2f3194=a34_0x560471,_0x2ab019=_0x22b364[_0x2f3194(0x1c9)]['map'](_0x215f6e=>_0x215f6e[_0x2f3194(0x1f0)]+':\x20'+_0x215f6e[_0x2f3194(0x1f2)]);return _0x2f3194(0x1a3)+_0x2ab019[_0x2f3194(0x1b4)]('\x0a');}function extractLoadedServiceManifests(_0x2c9728,_0x49d301){const _0x2e6734=a34_0x560471;if(!isServiceRegistryLike(_0x2c9728)){const _0x4df407=_0x2c9728,_0x4e0ef8=validateServiceTreeManifest(_0x4df407);return[{'manifest':_0x4df407,'report':_0x4e0ef8,'normalizedManifest':_0x4e0ef8['ok']?normalizeServiceTreeManifest(_0x4df407):undefined,'sourceHash':_0x49d301}];}return _0x2c9728[_0x2e6734(0x1df)][_0x2e6734(0x199)]((_0x30ae3b,_0x181b7d)=>{const _0x1b918a=_0x2e6734,_0x19bf11=isObjectRecord(_0x30ae3b)?_0x30ae3b[_0x1b918a(0x1ea)]:undefined,_0x41f972=validateServiceTreeManifest(_0x19bf11),_0x2c91e1=isObjectRecord(_0x30ae3b)&&typeof _0x30ae3b[_0x1b918a(0x1a0)]==='string'?_0x30ae3b['serviceCode']:undefined;return{'manifest':_0x19bf11,'report':_0x41f972,'normalizedManifest':_0x41f972['ok']?normalizeServiceTreeManifest(_0x19bf11):undefined,'sourceHash':sha256(JSON[_0x1b918a(0x1f1)](_0x19bf11,null,0x2)+'\x0a'),'registryIndex':_0x181b7d,'registryServiceCode':_0x2c91e1};});}function aggregateValidationReports(_0xd263b5){const _0x39ff94=a34_0x560471,_0x5a0ec6=_0xd263b5[_0x39ff94(0x1d2)](_0x33f4d5=>_0x33f4d5[_0x39ff94(0x1ad)]===undefined?_0x33f4d5[_0x39ff94(0x1c7)][_0x39ff94(0x1c9)]:_0x33f4d5[_0x39ff94(0x1c7)][_0x39ff94(0x1c9)][_0x39ff94(0x199)](_0x16c0ab=>({..._0x16c0ab,'path':prefixRegistryIssuePath(_0x33f4d5[_0x39ff94(0x1ad)],_0x16c0ab[_0x39ff94(0x1f0)])}))),_0x1ccdac=_0xd263b5[_0x39ff94(0x1d2)](_0x357f10=>_0x357f10[_0x39ff94(0x1ad)]===undefined?_0x357f10[_0x39ff94(0x1c7)][_0x39ff94(0x1d0)]:_0x357f10[_0x39ff94(0x1c7)]['warnings'][_0x39ff94(0x199)](_0x17610f=>({..._0x17610f,'path':prefixRegistryIssuePath(_0x357f10[_0x39ff94(0x1ad)],_0x17610f['path'])})));return{'ok':_0x5a0ec6[_0x39ff94(0x1e7)]===0x0,'errors':_0x5a0ec6,'warnings':_0x1ccdac};}function prefixRegistryIssuePath(_0x51ad6a,_0x1996f8){const _0x2f4deb=a34_0x560471;if(_0x1996f8==='$')return _0x2f4deb(0x1b1)+_0x51ad6a+_0x2f4deb(0x19a);if(_0x1996f8[_0x2f4deb(0x197)]('$.'))return _0x2f4deb(0x1b1)+_0x51ad6a+_0x2f4deb(0x19a)+_0x1996f8[_0x2f4deb(0x1bf)](0x1);if(_0x1996f8[_0x2f4deb(0x197)]('$['))return _0x2f4deb(0x1b1)+_0x51ad6a+'].manifest'+_0x1996f8[_0x2f4deb(0x1bf)](0x1);return _0x2f4deb(0x1b1)+_0x51ad6a+_0x2f4deb(0x1d5)+_0x1996f8;}function isServiceRegistryLike(_0x482f53){const _0x1a66ac=a34_0x560471;return isObjectRecord(_0x482f53)&&_0x482f53[_0x1a66ac(0x1bc)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x1a66ac(0x1d7)](_0x482f53['services']);}function isObjectRecord(_0x4f577b){const _0x115154=a34_0x560471;return Boolean(_0x4f577b)&&typeof _0x4f577b===_0x115154(0x1aa)&&!Array[_0x115154(0x1d7)](_0x4f577b);}function a34_0x490f(_0x5c2425,_0x2c7b80){_0x5c2425=_0x5c2425-0x197;const _0x4d5d16=a34_0x4d5d();let _0x490f42=_0x4d5d16[_0x5c2425];return _0x490f42;}function emptyServiceRegistryInspection(_0x240467,_0x4a3447,_0x51426f){return{'registryPath':_0x240467,'exists':_0x51426f,'status':_0x4a3447,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x2729f0){const _0x3bcd08=a34_0x560471,_0x420157=_0x2729f0[_0x3bcd08(0x1c3)],_0x2465af=_0x420157['commands'][_0x3bcd08(0x199)](_0xfdc1fd=>({'path':_0xfdc1fd[_0x3bcd08(0x1af)],'description':_0xfdc1fd[_0x3bcd08(0x1e6)],'risk':_0xfdc1fd[_0x3bcd08(0x1ec)],'targetKind':_0xfdc1fd[_0x3bcd08(0x1e8)][_0x3bcd08(0x1a9)],'targetCommand':_0xfdc1fd[_0x3bcd08(0x1e8)][_0x3bcd08(0x1bb)]}));return{'serviceCode':_0x2729f0[_0x3bcd08(0x1a0)],'name':_0x420157[_0x3bcd08(0x19b)][_0x3bcd08(0x1da)],'description':_0x420157['service']['description'],'version':_0x2729f0[_0x3bcd08(0x1e4)],'importedAt':_0x2729f0[_0x3bcd08(0x1a6)],'source':_0x2729f0['source'],'commandCount':_0x2465af['length'],'commands':_0x2465af};}function sha256(_0x3395c5){const _0x15b7e0=a34_0x560471;return createHash('sha256')[_0x15b7e0(0x1a7)](_0x3395c5)['digest'](_0x15b7e0(0x1ca));}
@@ -0,0 +1 @@
1
+ const a35_0x41e096=a35_0x2fa0;(function(_0x532e1d,_0x4c2fe3){const _0x58c920=a35_0x2fa0,_0x53a17a=_0x532e1d();while(!![]){try{const _0x4b058=parseInt(_0x58c920(0xa2))/0x1+-parseInt(_0x58c920(0xa8))/0x2+-parseInt(_0x58c920(0x97))/0x3+-parseInt(_0x58c920(0x99))/0x4*(parseInt(_0x58c920(0xa7))/0x5)+parseInt(_0x58c920(0x9a))/0x6+parseInt(_0x58c920(0xa0))/0x7+parseInt(_0x58c920(0x90))/0x8;if(_0x4b058===_0x4c2fe3)break;else _0x53a17a['push'](_0x53a17a['shift']());}catch(_0x2b9544){_0x53a17a['push'](_0x53a17a['shift']());}}}(a35_0x1276,0x87502));import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';import{dirname,resolve}from'node:path';function a35_0x2fa0(_0x338a1,_0x4de116){_0x338a1=_0x338a1-0x90;const _0x127629=a35_0x1276();let _0x2fa048=_0x127629[_0x338a1];return _0x2fa048;}function a35_0x1276(){const _0x3fdbb3=['613860kPWDNv','create','force','13712088MfYnLE','path','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','isSymbolicLink','rendered','type','name','3311646oIDkuG','WRITE','420nadbmn','1502616rlmWnP','Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20','str','utf8','validation','Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','5753748sMJSjY','files','139288rVNnHf','skillDir','target','skillName','skill','45745STpnkx'];a35_0x1276=function(){return _0x3fdbb3;};return a35_0x1276();}import{CliErrors}from'../../../errors.js';import{CREATE_NAME_FLAG,FORCE_FLAG,TARGET_FLAG,TYPE_FLAG}from'../flags.js';import{DEFAULT_SKILL_TARGET,renderSkillTemplate}from'../templates.js';export const createCommand={'service':a35_0x41e096(0xa6),'command':a35_0x41e096(0xa9),'description':a35_0x41e096(0x9f),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0xea2e54){const _0x46070b=a35_0x41e096,_0x53ed60=buildSkillCreatePlan(_0xea2e54[_0x46070b(0x9c)](_0x46070b(0x96)),_0xea2e54[_0x46070b(0x9c)]('type'),_0xea2e54[_0x46070b(0x9c)](_0x46070b(0xa4)));return{'method':_0x46070b(0x98),'url':_0x53ed60[_0x46070b(0xa3)],'body':{'skillName':_0x53ed60[_0x46070b(0x94)][_0x46070b(0xa5)],'type':_0x53ed60[_0x46070b(0x94)][_0x46070b(0x95)],'selfContained':!![],'files':_0x53ed60[_0x46070b(0x94)][_0x46070b(0xa1)]['map'](_0x2e7c1e=>_0x2e7c1e[_0x46070b(0x91)])},'description':_0x46070b(0x92)};},async 'execute'(_0x1e782c){const _0xa6b5d4=a35_0x41e096,_0x169a71=buildSkillCreatePlan(_0x1e782c[_0xa6b5d4(0x9c)](_0xa6b5d4(0x96)),_0x1e782c['str']('type'),_0x1e782c['str'](_0xa6b5d4(0xa4)));return writeSkillDraft(_0x169a71,_0x1e782c['bool'](_0xa6b5d4(0xaa))),{'ok':!![],'data':{'skillName':_0x169a71[_0xa6b5d4(0x94)][_0xa6b5d4(0xa5)],'type':_0x169a71[_0xa6b5d4(0x94)][_0xa6b5d4(0x95)],'dir':_0x169a71[_0xa6b5d4(0xa3)],'files':_0x169a71[_0xa6b5d4(0x94)][_0xa6b5d4(0xa1)]['map'](_0x30140a=>_0x30140a[_0xa6b5d4(0x91)])},'message':'Created\x20local\x20Skill\x20draft\x20'+_0x169a71[_0xa6b5d4(0x94)][_0xa6b5d4(0xa5)]};}};function buildSkillCreatePlan(_0x336515,_0x443e54,_0x90551e){const _0xa29f73=renderSkillTemplate({'skillName':_0x336515,'type':_0x443e54}),_0x102005=resolve(normalizeSkillTarget(_0x90551e));return{'rendered':_0xa29f73,'targetRoot':_0x102005,'skillDir':resolve(_0x102005,_0xa29f73['skillName'])};}function normalizeSkillTarget(_0x267942){return(_0x267942||DEFAULT_SKILL_TARGET)['trim']()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x3324af,_0x18a7eb){const _0x5d7df0=a35_0x41e096;if(existsSync(_0x3324af[_0x5d7df0(0xa3)])){const _0x10dee5=lstatSync(_0x3324af[_0x5d7df0(0xa3)]);if(!_0x10dee5['isDirectory']()||_0x10dee5[_0x5d7df0(0x93)]())throw CliErrors['validation'](_0x5d7df0(0x9b)+_0x3324af[_0x5d7df0(0xa3)]);if(!_0x18a7eb)throw CliErrors[_0x5d7df0(0x9e)]('Skill\x20directory\x20already\x20exists:\x20'+_0x3324af[_0x5d7df0(0xa3)],'Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.');}for(const _0x5066f5 of _0x3324af[_0x5d7df0(0x94)][_0x5d7df0(0xa1)]){const _0x5ded27=resolve(_0x3324af['skillDir'],_0x5066f5['path']),_0x2365dc=dirname(_0x5ded27);mkdirSync(_0x2365dc,{'recursive':!![]});if(existsSync(_0x5ded27)&&lstatSync(_0x5ded27)[_0x5d7df0(0x93)]())throw CliErrors['validation']('Refusing\x20to\x20overwrite\x20symlink:\x20'+_0x5ded27);writeFileSync(_0x5ded27,_0x5066f5['content'],_0x5d7df0(0x9d));}}
@@ -0,0 +1 @@
1
+ const a36_0x225132=a36_0x5415;(function(_0x2cf861,_0x3175e2){const _0x3e7b91=a36_0x5415,_0x44a3b3=_0x2cf861();while(!![]){try{const _0x23ec9b=-parseInt(_0x3e7b91(0x162))/0x1*(parseInt(_0x3e7b91(0x166))/0x2)+parseInt(_0x3e7b91(0x14f))/0x3*(parseInt(_0x3e7b91(0x168))/0x4)+parseInt(_0x3e7b91(0x174))/0x5*(-parseInt(_0x3e7b91(0x14c))/0x6)+-parseInt(_0x3e7b91(0x15c))/0x7*(parseInt(_0x3e7b91(0x15a))/0x8)+parseInt(_0x3e7b91(0x167))/0x9+-parseInt(_0x3e7b91(0x164))/0xa*(parseInt(_0x3e7b91(0x15d))/0xb)+-parseInt(_0x3e7b91(0x16a))/0xc*(-parseInt(_0x3e7b91(0x15f))/0xd);if(_0x23ec9b===_0x3175e2)break;else _0x44a3b3['push'](_0x44a3b3['shift']());}catch(_0x1ab846){_0x44a3b3['push'](_0x44a3b3['shift']());}}}(a36_0x2b5b,0xe8712));import{CliErrors}from'../../../errors.js';import{CODE_FLAG,SCOPE_FLAG}from'../flags.js';import{normalizeSyncScopes}from'../scopes.js';import{summarizeRuntimeSkill}from'../summary.js';export const installCommand={'service':a36_0x225132(0x16d),'command':a36_0x225132(0x156),'description':a36_0x225132(0x16c),'risk':a36_0x225132(0x172),'requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG],async 'execute'(_0x5b1e18){return syncRuntimeSkills(_0x5b1e18);}};async function syncRuntimeSkills(_0x1727ca){const _0x851db6=a36_0x225132,{downloadRuntimeSkillPackage:_0x58eb71,listRuntimeSkills:_0x3a403f}=await import(_0x851db6(0x161)),{linkEffectiveRuntimeSkills:_0x200724,materializeRuntimeSkill:_0x24adba,pruneStaleRuntimeSkillCache:_0x71a200,pruneStaleRuntimeSkillLinks:_0xb4d4ca}=await import(_0x851db6(0x158)),_0x40b390=_0x1727ca['str'](_0x851db6(0x171)),_0x4c3618=normalizeSyncScopes(_0x1727ca[_0x851db6(0x151)]('scope')),_0xeb71da=_0x1727ca[_0x851db6(0x154)]??_0x851db6(0x159),_0x58303c=_0x1727ca[_0x851db6(0x15b)];if(!_0x58303c)throw CliErrors[_0x851db6(0x14d)](_0x851db6(0x173));const _0x59c735=await Promise['all'](_0x4c3618[_0x851db6(0x14e)](_0x4776d1=>_0x3a403f({'appCode':_0x1727ca[_0x851db6(0x152)],'scope':_0x4776d1,'code':_0x40b390[_0x851db6(0x16e)]()||undefined}))),_0x32e674=_0x4c3618[_0x851db6(0x15e)](_0x851db6(0x150))?_0x59c735[_0x851db6(0x169)]((_0x5f74ef,_0x4c2e0f)=>_0x4c3618[_0x4c2e0f]===_0x851db6(0x150)?_0x5f74ef['personal']:[]):[],_0x758c39=_0x4c3618['includes'](_0x851db6(0x170))?_0x59c735[_0x851db6(0x169)]((_0x56ea38,_0x3683cd)=>_0x4c3618[_0x3683cd]===_0x851db6(0x170)?_0x56ea38['company']:[]):[],_0x15c7d3=new Set([..._0x32e674['map'](_0xd912d2=>_0xd912d2[_0x851db6(0x157)]?.['trim']())[_0x851db6(0x165)](_0xb5e9b=>Boolean(_0xb5e9b)),..._0x758c39[_0x851db6(0x14e)](_0x301ca1=>_0x301ca1[_0x851db6(0x157)]?.['trim']())[_0x851db6(0x165)](_0x108fe1=>Boolean(_0x108fe1))]),_0x23b7bb=_0x40b390[_0x851db6(0x16e)]()?[_0x40b390[_0x851db6(0x16e)]()]:undefined,_0x1e173c=_0x4c3618[_0x851db6(0x16f)]===0x2&&_0x4c3618['includes'](_0x851db6(0x150))&&_0x4c3618['includes']('company'),_0x3a90cd=_0x1e173c?_0xb4d4ca(_0x1727ca[_0x851db6(0x152)],_0x15c7d3,{},_0x23b7bb):[],_0x194cbf=_0x71a200({'env':_0xeb71da,'accessKey':_0x58303c,'appCode':_0x1727ca['appCode'],'activeSkillCodes':_0x15c7d3,'pruneSkillCodes':_0x23b7bb,'scopes':_0x4c3618}),_0x2e8016=[];for(const _0x25f9d4 of _0x32e674){_0x2e8016[_0x851db6(0x148)](_0x24adba(_0x25f9d4,_0x851db6(0x150),{'env':_0xeb71da,'accessKey':_0x58303c,'appCode':_0x1727ca[_0x851db6(0x152)],'packageBytes':await downloadSkillPackage(_0x25f9d4,_0x851db6(0x150),_0x1727ca['appCode'],_0x58eb71)}));}for(const _0x452674 of _0x758c39){_0x2e8016['push'](_0x24adba(_0x452674,_0x851db6(0x170),{'env':_0xeb71da,'accessKey':_0x58303c,'appCode':_0x1727ca[_0x851db6(0x152)],'packageBytes':await downloadSkillPackage(_0x452674,'company',_0x1727ca[_0x851db6(0x152)],_0x58eb71)}));}const _0x37901e=_0x200724(_0x2e8016,_0x1727ca['appCode']),_0x5624c1=countLinkActions(_0x37901e);return{'ok':!![],'data':{'appCode':_0x1727ca[_0x851db6(0x152)],'personal':_0x32e674['length'],'company':_0x758c39['length'],'materialized':_0x2e8016[_0x851db6(0x16f)],'links':{'total':_0x37901e[_0x851db6(0x16f)],'created':_0x5624c1[_0x851db6(0x153)]??0x0,'updated':_0x5624c1[_0x851db6(0x14b)]??0x0,'unchanged':_0x5624c1['unchanged']??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x3a90cd[_0x851db6(0x165)](_0x3a5968=>_0x3a5968['action']===_0x851db6(0x16b))['length'],'cacheDirs':_0x194cbf[_0x851db6(0x165)](_0x4584df=>_0x4584df[_0x851db6(0x160)]==='removed')[_0x851db6(0x16f)],'skipped':[..._0x3a90cd,..._0x194cbf][_0x851db6(0x165)](_0x4a3e44=>_0x4a3e44[_0x851db6(0x160)]===_0x851db6(0x163))[_0x851db6(0x16f)]},'skills':{'personal':_0x32e674['map'](summarizeRuntimeSkill),'company':_0x758c39[_0x851db6(0x14e)](summarizeRuntimeSkill)}},'message':_0x851db6(0x155)+_0x32e674[_0x851db6(0x16f)]+'\x20personal\x20and\x20'+_0x758c39[_0x851db6(0x16f)]+_0x851db6(0x14a)};}function a36_0x5415(_0x378582,_0x32a337){_0x378582=_0x378582-0x148;const _0x2b5b55=a36_0x2b5b();let _0x5415df=_0x2b5b55[_0x378582];return _0x5415df;}function a36_0x2b5b(){const _0x106f00=['3139aDapBY','skipped','10NNTAMr','filter','842uhWerw','13190157AtwZug','20EcFdsi','flatMap','108bMfnIN','removed','Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','skill','trim','length','company','code','write','Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.','115435HtDvxA','push','reduce','\x20company\x20Skill(s).','updated','186ZXUTlJ','authRequired','map','378627MKTMAK','personal','str','appCode','created','envName','Installed\x20','install','skillCode','../../../skills/runtime-skill-sync.js','production','1768KckIHi','accessKey','43673FzKQEK','16739932OnzsfC','includes','5479227nWKOjk','action','../../../core/api-client.js'];a36_0x2b5b=function(){return _0x106f00;};return a36_0x2b5b();}async function downloadSkillPackage(_0xcc8ac9,_0x1a05ba,_0x4cb008,_0x195c8c){const _0xbd06ab=a36_0x225132,_0x2ca992=_0xcc8ac9['version']?.[_0xbd06ab(0x16e)]();return _0x2ca992?_0x195c8c(_0x1a05ba,_0xcc8ac9[_0xbd06ab(0x157)],_0x4cb008,_0x2ca992):_0x195c8c(_0x1a05ba,_0xcc8ac9['skillCode'],_0x4cb008);}function countLinkActions(_0x30727c){const _0x1260c9=a36_0x225132;return _0x30727c[_0x1260c9(0x149)]((_0xe7624f,_0x4f2703)=>{const _0xaccd23=_0x1260c9;return _0xe7624f[_0x4f2703['action']]=(_0xe7624f[_0x4f2703[_0xaccd23(0x160)]]??0x0)+0x1,_0xe7624f;},{});}
@@ -0,0 +1 @@
1
+ const a37_0x3d5e1a=a37_0x4330;(function(_0x391c08,_0xfebda3){const _0xb2266f=a37_0x4330,_0x1fced3=_0x391c08();while(!![]){try{const _0x479f48=-parseInt(_0xb2266f(0x16b))/0x1*(parseInt(_0xb2266f(0x164))/0x2)+-parseInt(_0xb2266f(0x166))/0x3*(parseInt(_0xb2266f(0x165))/0x4)+parseInt(_0xb2266f(0x167))/0x5+parseInt(_0xb2266f(0x160))/0x6+parseInt(_0xb2266f(0x157))/0x7+-parseInt(_0xb2266f(0x14d))/0x8+parseInt(_0xb2266f(0x16a))/0x9*(parseInt(_0xb2266f(0x151))/0xa);if(_0x479f48===_0xfebda3)break;else _0x1fced3['push'](_0x1fced3['shift']());}catch(_0x37054f){_0x1fced3['push'](_0x1fced3['shift']());}}}(a37_0x1577,0x880bf));import{CliErrors}from'../../../errors.js';function a37_0x4330(_0x507101,_0x1ff64d){_0x507101=_0x507101-0x14c;const _0x1577f9=a37_0x1577();let _0x4330e3=_0x1577f9[_0x507101];return _0x4330e3;}function a37_0x1577(){const _0x1fffc8=['4jdmPUg','1057974MUxYXC','604080eKQDxl','company','scope','9oDnheG','7317pGElvo','../../../skills/runtime-skill-sync.js','4754080uCRRJj','map','accessKey','length','8560610LhRPtx','authRequired','\x20local\x20Skill(s).','code','local','str','5357989iBRxiI','trim','list','Listed\x20','appCode','production','List\x20runtime\x20Skills\x20from\x20remote\x20or\x20CLI-managed\x20local\x20cache','personal','remote','3268680pDojQJ','filter','skill','bool','214MZswzJ'];a37_0x1577=function(){return _0x1fffc8;};return a37_0x1577();}import{CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG}from'../flags.js';import{listScopeToRemoteScope,listScopeToRuntimeScopes,normalizeListScope,shouldListScope}from'../scopes.js';import{summarizeLocalRuntimeSkill,summarizeRuntimeSkill}from'../summary.js';export const listCommand={'service':a37_0x3d5e1a(0x162),'command':a37_0x3d5e1a(0x159),'description':a37_0x3d5e1a(0x15d),'risk':'read','flags':[CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG],async 'execute'(_0x598d48){const _0x1f05ad=a37_0x3d5e1a,_0x311337=_0x598d48[_0x1f05ad(0x156)](_0x1f05ad(0x154)),_0x4c566a=normalizeListScope(_0x598d48[_0x1f05ad(0x156)](_0x1f05ad(0x169)));if(_0x598d48[_0x1f05ad(0x163)]('local')){const _0x59ad91=_0x598d48[_0x1f05ad(0x14f)];if(!_0x59ad91)throw CliErrors[_0x1f05ad(0x152)]();const {listLocalRuntimeSkills:_0x12ee8d}=await import(_0x1f05ad(0x14c)),_0x2b0a23=_0x12ee8d({'env':_0x598d48['envName']??_0x1f05ad(0x15c),'accessKey':_0x59ad91,'appCode':_0x598d48['appCode'],'scopes':listScopeToRuntimeScopes(_0x4c566a),'code':_0x311337[_0x1f05ad(0x158)]()||undefined}),_0x38aacb=groupLocalRuntimeSkills(_0x2b0a23);return{'ok':!![],'data':{'appCode':_0x598d48[_0x1f05ad(0x15b)],'source':_0x1f05ad(0x155),'scope':_0x4c566a,'total':_0x2b0a23[_0x1f05ad(0x150)],'personal':_0x38aacb[_0x1f05ad(0x15e)][_0x1f05ad(0x150)],'company':_0x38aacb[_0x1f05ad(0x168)]['length'],'items':_0x2b0a23[_0x1f05ad(0x14e)](summarizeLocalRuntimeSkill),'skills':{'personal':_0x38aacb[_0x1f05ad(0x15e)][_0x1f05ad(0x14e)](summarizeLocalRuntimeSkill),'company':_0x38aacb[_0x1f05ad(0x168)]['map'](summarizeLocalRuntimeSkill)}},'message':_0x1f05ad(0x15a)+_0x2b0a23[_0x1f05ad(0x150)]+_0x1f05ad(0x153)};}const {listRuntimeSkills:_0x41b08e}=await import('../../../core/api-client.js'),_0x204081=await _0x41b08e({'appCode':_0x598d48[_0x1f05ad(0x15b)],'scope':listScopeToRemoteScope(_0x4c566a),'code':_0x311337['trim']()||undefined}),_0xb02f18=shouldListScope(_0x4c566a,_0x1f05ad(0x15e))?_0x204081[_0x1f05ad(0x15e)]??[]:[],_0x5d70e4=shouldListScope(_0x4c566a,_0x1f05ad(0x168))?_0x204081[_0x1f05ad(0x168)]??[]:[],_0x575882=[..._0xb02f18,..._0x5d70e4];return{'ok':!![],'data':{'appCode':_0x598d48[_0x1f05ad(0x15b)],'source':_0x1f05ad(0x15f),'scope':_0x4c566a,'total':_0x575882[_0x1f05ad(0x150)],'personal':_0xb02f18['length'],'company':_0x5d70e4['length'],'items':_0x575882['map'](summarizeRuntimeSkill),'skills':{'personal':_0xb02f18[_0x1f05ad(0x14e)](summarizeRuntimeSkill),'company':_0x5d70e4[_0x1f05ad(0x14e)](summarizeRuntimeSkill)}},'message':_0x1f05ad(0x15a)+_0x575882[_0x1f05ad(0x150)]+'\x20remote\x20Skill(s).'};}};function groupLocalRuntimeSkills(_0x48cfc8){const _0x5f06bc=a37_0x3d5e1a;return{'personal':_0x48cfc8[_0x5f06bc(0x161)](_0x3e10e0=>_0x3e10e0[_0x5f06bc(0x169)]===_0x5f06bc(0x15e)),'company':_0x48cfc8[_0x5f06bc(0x161)](_0x124eec=>_0x124eec[_0x5f06bc(0x169)]===_0x5f06bc(0x168)),'builtin':_0x48cfc8[_0x5f06bc(0x161)](_0x8ec132=>_0x8ec132['scope']==='builtin')};}
@@ -0,0 +1 @@
1
+ function a38_0xfe74(_0x3198bc,_0x5c903a){_0x3198bc=_0x3198bc-0x9d;const _0x1c9122=a38_0x1c91();let _0xfe74e9=_0x1c9122[_0x3198bc];return _0xfe74e9;}function a38_0x1c91(){const _0x455193=['878165YMORBP','accessKey','../../../core/api-client.js','personal','6844716ZKrVKA','files','93969NPJzes','2193432VUfHac','input','306iLAHoH','dir','write','Created\x20personal\x20Skill\x20','525688aavEks','push','3070sXLKwn','4624520zbqNIz','skill','appCode','authRequired','find','49dAMoMu','Push\x20a\x20local\x20Skill\x20directory\x20to\x20personal\x20runtime\x20Skill\x20scope','6jWzKwR','Updated\x20personal\x20Skill\x20','skillCode'];a38_0x1c91=function(){return _0x455193;};return a38_0x1c91();}const a38_0x2ce5a2=a38_0xfe74;(function(_0x389d5a,_0x225c0b){const _0x4fe1e2=a38_0xfe74,_0x49d6bb=_0x389d5a();while(!![]){try{const _0x5344b0=parseInt(_0x4fe1e2(0xad))/0x1*(parseInt(_0x4fe1e2(0xb3))/0x2)+-parseInt(_0x4fe1e2(0xaa))/0x3+parseInt(_0x4fe1e2(0xab))/0x4+parseInt(_0x4fe1e2(0xa4))/0x5*(parseInt(_0x4fe1e2(0xa1))/0x6)+-parseInt(_0x4fe1e2(0x9f))/0x7*(-parseInt(_0x4fe1e2(0xb1))/0x8)+-parseInt(_0x4fe1e2(0xa8))/0x9+-parseInt(_0x4fe1e2(0xb4))/0xa;if(_0x5344b0===_0x225c0b)break;else _0x49d6bb['push'](_0x49d6bb['shift']());}catch(_0x3782fa){_0x49d6bb['push'](_0x49d6bb['shift']());}}}(a38_0x1c91,0x61813));import{CliErrors}from'../../../errors.js';import{DIR_FLAG}from'../flags.js';import{isMultiFileManifest,isPackageBackedManifest}from'../manifest-helpers.js';import{summarizeRuntimeSkill}from'../summary.js';import{throwIfSkillValidationFailed,validateSkillDirectory}from'../validate.js';export const pushCommand={'service':a38_0x2ce5a2(0xb5),'command':a38_0x2ce5a2(0xb2),'description':a38_0x2ce5a2(0xa0),'risk':a38_0x2ce5a2(0xaf),'flags':[DIR_FLAG],async 'execute'(_0x490928){const _0x58b4e2=a38_0x2ce5a2,{createPersonalRuntimeSkill:_0x2fca1a,downloadRuntimeSkillPackage:_0x556b6a,listRuntimeSkills:_0x536fce,updatePersonalRuntimeSkill:_0x17a978}=await import(_0x58b4e2(0xa6)),{verifyRuntimeSkillPackage:_0x2e38ae,verifyRuntimeSkillBundle:_0x15888b,readPushDirectory:_0x33d804,recordPushedRuntimeSkill:_0x55af69}=await import('../../../skills/runtime-skill-sync.js');if(!_0x490928[_0x58b4e2(0xa5)])throw CliErrors[_0x58b4e2(0x9d)]();const _0x3f9848=_0x490928['str'](_0x58b4e2(0xae)),_0x198de7=validateSkillDirectory(_0x3f9848);throwIfSkillValidationFailed(_0x198de7);const _0x2035e3=_0x198de7[_0x58b4e2(0xae)],_0x2ba5e8=_0x33d804(_0x2035e3,_0x490928[_0x58b4e2(0xb6)]),_0x52e1f7=(await _0x536fce({'appCode':_0x490928[_0x58b4e2(0xb6)],'scope':'personal'}))[_0x58b4e2(0xa7)][_0x58b4e2(0x9e)](_0x4a0d75=>_0x4a0d75[_0x58b4e2(0xa3)]===_0x2ba5e8['skillCode']),_0x3b2015=_0x52e1f7?await _0x17a978(_0x2ba5e8[_0x58b4e2(0xa3)],_0x490928[_0x58b4e2(0xb6)],_0x2ba5e8[_0x58b4e2(0xac)]):await _0x2fca1a(_0x490928[_0x58b4e2(0xb6)],_0x2ba5e8['input']);let _0x23b81a=_0x3b2015;if(isMultiFileManifest(_0x2ba5e8[_0x58b4e2(0xac)]['files'])){const _0x238e30=await _0x556b6a(_0x58b4e2(0xa7),_0x3b2015[_0x58b4e2(0xa3)]||_0x2ba5e8[_0x58b4e2(0xa3)],_0x490928[_0x58b4e2(0xb6)]);_0x15888b(_0x2ba5e8[_0x58b4e2(0xac)][_0x58b4e2(0xa9)],_0x238e30),_0x23b81a={..._0x3b2015,'files':_0x2ba5e8['input'][_0x58b4e2(0xa9)]};}else{if(isPackageBackedManifest(_0x3b2015['files'])){const _0x1d1cc3=await _0x556b6a('personal',_0x3b2015['skillCode']||_0x2ba5e8[_0x58b4e2(0xa3)],_0x490928[_0x58b4e2(0xb6)]);_0x2e38ae(_0x3b2015['files'],_0x1d1cc3);}}return _0x55af69(_0x2035e3,_0x23b81a,_0x490928[_0x58b4e2(0xb6)]),{'ok':!![],'data':summarizeRuntimeSkill(_0x3b2015),'message':_0x52e1f7?_0x58b4e2(0xa2)+_0x2ba5e8['skillCode']:_0x58b4e2(0xb0)+_0x2ba5e8['skillCode']};}};
@@ -0,0 +1 @@
1
+ function a39_0x25f8(_0x2023db,_0x2ab85c){_0x2023db=_0x2023db-0x90;const _0x1862a4=a39_0x1862();let _0x25f848=_0x1862a4[_0x2023db];return _0x25f848;}const a39_0x4a2a6f=a39_0x25f8;function a39_0x1862(){const _0x5604bd=['Skill\x20validation\x20passed.','32fSwGTQ','4555005nXGNVY','strict','skill','Validate\x20a\x20local\x20Skill\x20directory\x20as\x20a\x20self-contained\x20delivery\x20package','type','4873092XeqSmp','8652xHkSSl','warnings','1869206ULGOHS','str','dir','291987JbHvry','read','380YxCCSm','1026693oTicBL','764gFaHLa','bool','357bDVWyK'];a39_0x1862=function(){return _0x5604bd;};return a39_0x1862();}(function(_0x3a30a7,_0x438af0){const _0x4866c5=a39_0x25f8,_0x36d5a8=_0x3a30a7();while(!![]){try{const _0x142d67=parseInt(_0x4866c5(0xa1))/0x1+-parseInt(_0x4866c5(0x9b))/0x2+-parseInt(_0x4866c5(0x99))/0x3*(parseInt(_0x4866c5(0xa2))/0x4)+-parseInt(_0x4866c5(0x93))/0x5+parseInt(_0x4866c5(0x98))/0x6+parseInt(_0x4866c5(0x90))/0x7*(parseInt(_0x4866c5(0x92))/0x8)+parseInt(_0x4866c5(0x9e))/0x9*(parseInt(_0x4866c5(0xa0))/0xa);if(_0x142d67===_0x438af0)break;else _0x36d5a8['push'](_0x36d5a8['shift']());}catch(_0x2f07e5){_0x36d5a8['push'](_0x36d5a8['shift']());}}}(a39_0x1862,0xa4e89));import{DIR_FLAG,STRICT_FLAG}from'../flags.js';import{throwIfSkillValidationFailed,validateSkillDirectory}from'../validate.js';export const validateCommand={'service':a39_0x4a2a6f(0x95),'command':'validate','description':a39_0x4a2a6f(0x96),'risk':a39_0x4a2a6f(0x9f),'requiresAuth':![],'requiresAppCode':![],'flags':[DIR_FLAG,STRICT_FLAG],async 'execute'(_0x14c85f){const _0x1d8b84=a39_0x4a2a6f,_0x293d49=_0x14c85f[_0x1d8b84(0xa3)](_0x1d8b84(0x94)),_0x1d8280=validateSkillDirectory(_0x14c85f[_0x1d8b84(0x9c)](_0x1d8b84(0x9d)),{'strict':_0x293d49});return throwIfSkillValidationFailed(_0x1d8280,_0x293d49),{'ok':!![],'data':{'dir':_0x1d8280[_0x1d8b84(0x9d)],'type':_0x1d8280[_0x1d8b84(0x97)],'errors':_0x1d8280['errors'],'warnings':_0x1d8280[_0x1d8b84(0x9a)]},'message':_0x1d8b84(0x91)};}};
@@ -0,0 +1 @@
1
+ const a40_0x83f803=a40_0x5381;(function(_0x24bce3,_0x5eedc8){const _0x339c74=a40_0x5381,_0x418d3c=_0x24bce3();while(!![]){try{const _0x254999=parseInt(_0x339c74(0xa0))/0x1*(parseInt(_0x339c74(0xa3))/0x2)+parseInt(_0x339c74(0x92))/0x3+parseInt(_0x339c74(0x9a))/0x4*(-parseInt(_0x339c74(0x8d))/0x5)+-parseInt(_0x339c74(0xa9))/0x6*(-parseInt(_0x339c74(0x94))/0x7)+-parseInt(_0x339c74(0x98))/0x8*(-parseInt(_0x339c74(0xa4))/0x9)+parseInt(_0x339c74(0xa7))/0xa+parseInt(_0x339c74(0x8f))/0xb*(-parseInt(_0x339c74(0x99))/0xc);if(_0x254999===_0x5eedc8)break;else _0x418d3c['push'](_0x418d3c['shift']());}catch(_0x43c87b){_0x418d3c['push'](_0x418d3c['shift']());}}}(a40_0x2faa,0xe663e));import{DEFAULT_SKILL_TARGET,SKILL_NAME_PATTERN,SKILL_TYPES}from'./templates.js';export const CODE_FLAG={'name':a40_0x83f803(0xa5),'type':a40_0x83f803(0x8e),'description':'Only\x20target\x20a\x20specific\x20runtime\x20Skill\x20code'};export const SCOPE_FLAG={'name':a40_0x83f803(0xa8),'type':a40_0x83f803(0x8e),'description':a40_0x83f803(0x97),'enum':[a40_0x83f803(0x93),a40_0x83f803(0x9b),'company']};export const LIST_SCOPE_FLAG={'name':a40_0x83f803(0xa8),'type':a40_0x83f803(0x8e),'description':a40_0x83f803(0x95),'enum':[a40_0x83f803(0x93),a40_0x83f803(0x9b),'company']};export const LOCAL_FLAG={'name':a40_0x83f803(0x9d),'type':a40_0x83f803(0xa2),'description':'Read\x20CLI-managed\x20local\x20Skill\x20cache\x20and\x20links\x20instead\x20of\x20remote\x20lists'};function a40_0x5381(_0x1fd231,_0x590a6d){_0x1fd231=_0x1fd231-0x8c;const _0x2faac9=a40_0x2faa();let _0x538174=_0x2faac9[_0x1fd231];return _0x538174;}export const DIR_FLAG={'name':a40_0x83f803(0x8c),'type':'string','required':!![],'description':'Local\x20Skill\x20directory\x20containing\x20SKILL.md'};export const CREATE_NAME_FLAG={'name':a40_0x83f803(0x9f),'type':a40_0x83f803(0x8e),'required':!![],'description':a40_0x83f803(0x96),'pattern':{'regex':SKILL_NAME_PATTERN,'description':a40_0x83f803(0x90)}};export const TYPE_FLAG={'name':a40_0x83f803(0x91),'type':a40_0x83f803(0x8e),'description':'Skill\x20template\x20type','default':'write','enum':[...SKILL_TYPES]};export const TARGET_FLAG={'name':a40_0x83f803(0x9e),'type':'string','description':a40_0x83f803(0xa6),'default':DEFAULT_SKILL_TARGET};export const FORCE_FLAG={'name':a40_0x83f803(0xa1),'type':a40_0x83f803(0xa2),'description':'Overwrite\x20generated\x20files\x20when\x20the\x20Skill\x20directory\x20already\x20exists'};export const STRICT_FLAG={'name':'strict','type':a40_0x83f803(0xa2),'description':a40_0x83f803(0x9c)};function a40_0x2faa(){const _0x458fb8=['string','77hsNovm','lowercase\x20letters,\x20numbers,\x20and\x20single\x20hyphens','type','2113644YrxuLY','all','14YWTBSu','Skill\x20list\x20scope:\x20all,\x20personal,\x20or\x20company','Skill\x20name\x20using\x20lowercase\x20letters,\x20numbers,\x20and\x20hyphens','Skill\x20sync\x20scope:\x20all\x20(personal/company),\x20personal,\x20or\x20company','1505600LNljHb','2336988OgPghH','4kxmirX','personal','Compatibility\x20flag;\x20no\x20extra\x20checks\x20are\x20enabled','local','target','name','38agtskq','force','boolean','11382PAXocn','36TaXbdp','code','Directory\x20that\x20will\x20contain\x20the\x20generated\x20Skill\x20directory','15683400ytVXvE','scope','612138GfjHcL','dir','5695355lCdAgk'];a40_0x2faa=function(){return _0x458fb8;};return a40_0x2faa();}
@@ -1 +1 @@
1
- const a35_0x59df79=a35_0x587b;(function(_0x37bbd8,_0xc5e956){const _0xcb759c=a35_0x587b,_0x3f595d=_0x37bbd8();while(!![]){try{const _0x5b7e7d=parseInt(_0xcb759c(0x209))/0x1+-parseInt(_0xcb759c(0x21d))/0x2*(parseInt(_0xcb759c(0x1d6))/0x3)+-parseInt(_0xcb759c(0x20b))/0x4+-parseInt(_0xcb759c(0x1ef))/0x5+parseInt(_0xcb759c(0x1e3))/0x6*(-parseInt(_0xcb759c(0x1d2))/0x7)+-parseInt(_0xcb759c(0x20e))/0x8+parseInt(_0xcb759c(0x1cb))/0x9*(parseInt(_0xcb759c(0x227))/0xa);if(_0x5b7e7d===_0xc5e956)break;else _0x3f595d['push'](_0x3f595d['shift']());}catch(_0x3b27a3){_0x3f595d['push'](_0x3f595d['shift']());}}}(a35_0x2b3b,0xdd3f3));import{CliErrors}from'../../errors.js';function a35_0x587b(_0x326c75,_0x5d5778){_0x326c75=_0x326c75-0x1c9;const _0x2b3b47=a35_0x2b3b();let _0x587b02=_0x2b3b47[_0x326c75];return _0x587b02;}import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';import{dirname,resolve}from'node:path';import{DEFAULT_SKILL_TARGET,renderSkillTemplate,SKILL_NAME_PATTERN,SKILL_TYPES}from'../../commands/skill/templates.js';import{throwIfSkillValidationFailed,validateSkillDirectory}from'../../commands/skill/validate.js';const CODE_FLAG={'name':a35_0x59df79(0x1e4),'type':a35_0x59df79(0x1ce),'description':a35_0x59df79(0x21e)},SCOPE_FLAG={'name':'scope','type':'string','description':a35_0x59df79(0x20a),'enum':[a35_0x59df79(0x228),a35_0x59df79(0x232),a35_0x59df79(0x1d7)]},LIST_SCOPE_FLAG={'name':a35_0x59df79(0x1d8),'type':'string','description':a35_0x59df79(0x233),'enum':[a35_0x59df79(0x228),a35_0x59df79(0x232),a35_0x59df79(0x1d7)]},LOCAL_FLAG={'name':a35_0x59df79(0x1f4),'type':'boolean','description':'Read\x20CLI-managed\x20local\x20Skill\x20cache\x20and\x20links\x20instead\x20of\x20remote\x20lists'},DIR_FLAG={'name':a35_0x59df79(0x208),'type':a35_0x59df79(0x1ce),'required':!![],'description':a35_0x59df79(0x221)},CREATE_NAME_FLAG={'name':a35_0x59df79(0x216),'type':a35_0x59df79(0x1ce),'required':!![],'description':'Skill\x20name\x20using\x20lowercase\x20letters,\x20numbers,\x20and\x20hyphens','pattern':{'regex':SKILL_NAME_PATTERN,'description':a35_0x59df79(0x1d0)}},TYPE_FLAG={'name':a35_0x59df79(0x21a),'type':'string','description':a35_0x59df79(0x220),'default':a35_0x59df79(0x1d3),'enum':[...SKILL_TYPES]},TARGET_FLAG={'name':'target','type':a35_0x59df79(0x1ce),'description':'Directory\x20that\x20will\x20contain\x20the\x20generated\x20Skill\x20directory','default':DEFAULT_SKILL_TARGET},FORCE_FLAG={'name':a35_0x59df79(0x1ca),'type':a35_0x59df79(0x22b),'description':a35_0x59df79(0x1e0)},STRICT_FLAG={'name':a35_0x59df79(0x1f7),'type':a35_0x59df79(0x22b),'description':a35_0x59df79(0x212)};function summarizeRuntimeSkill(_0x17e0c9){const _0x111ff3=a35_0x59df79;return{'id':_0x17e0c9['id'],'skillCode':_0x17e0c9[_0x111ff3(0x1f8)],'skillName':_0x17e0c9[_0x111ff3(0x201)],'scope':_0x17e0c9[_0x111ff3(0x1d8)],'version':_0x17e0c9[_0x111ff3(0x200)],'readonly':_0x17e0c9[_0x111ff3(0x203)]};}function summarizeLocalRuntimeSkill(_0x3d666e){const _0x1cc8d5=a35_0x59df79;return{'id':_0x3d666e['id'],'skillCode':_0x3d666e[_0x1cc8d5(0x1f8)],'skillName':_0x3d666e[_0x1cc8d5(0x201)],'scope':_0x3d666e[_0x1cc8d5(0x1d8)],'appCode':_0x3d666e[_0x1cc8d5(0x204)],'version':_0x3d666e[_0x1cc8d5(0x200)],'status':_0x3d666e[_0x1cc8d5(0x1d1)],'readonly':_0x3d666e[_0x1cc8d5(0x203)],'tags':_0x3d666e['tags'],'dir':_0x3d666e[_0x1cc8d5(0x208)],'cacheDir':_0x3d666e[_0x1cc8d5(0x22e)],'skillMdPath':_0x3d666e[_0x1cc8d5(0x1de)],'metadataPath':_0x3d666e[_0x1cc8d5(0x219)],'linkedPaths':_0x3d666e[_0x1cc8d5(0x21b)],'contentHash':_0x3d666e['contentHash'],'treeHash':_0x3d666e[_0x1cc8d5(0x1e2)],'pulledAt':_0x3d666e[_0x1cc8d5(0x20d)]};}export const skillDefinitions=[{'service':a35_0x59df79(0x22d),'command':a35_0x59df79(0x1fa),'description':a35_0x59df79(0x234),'risk':a35_0x59df79(0x1d3),'requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG],async 'execute'(_0x4042e4){return syncRuntimeSkills(_0x4042e4);}},{'service':a35_0x59df79(0x22d),'command':a35_0x59df79(0x207),'description':a35_0x59df79(0x1fd),'risk':a35_0x59df79(0x1d3),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x82038e){const _0x16b3b5=a35_0x59df79,_0x1ddda3=buildSkillCreatePlan(_0x82038e[_0x16b3b5(0x215)]('name'),_0x82038e['str'](_0x16b3b5(0x21a)),_0x82038e[_0x16b3b5(0x215)](_0x16b3b5(0x230)));return{'method':_0x16b3b5(0x210),'url':_0x1ddda3[_0x16b3b5(0x229)],'body':{'skillName':_0x1ddda3[_0x16b3b5(0x1c9)][_0x16b3b5(0x201)],'type':_0x1ddda3[_0x16b3b5(0x1c9)][_0x16b3b5(0x21a)],'selfContained':!![],'files':_0x1ddda3[_0x16b3b5(0x1c9)][_0x16b3b5(0x217)][_0x16b3b5(0x1da)](_0x571afa=>_0x571afa[_0x16b3b5(0x20c)])},'description':_0x16b3b5(0x1db)};},async 'execute'(_0x36c1bc){const _0x4997dd=a35_0x59df79,_0x52f308=buildSkillCreatePlan(_0x36c1bc[_0x4997dd(0x215)](_0x4997dd(0x216)),_0x36c1bc[_0x4997dd(0x215)](_0x4997dd(0x21a)),_0x36c1bc[_0x4997dd(0x215)](_0x4997dd(0x230)));return writeSkillDraft(_0x52f308,_0x36c1bc[_0x4997dd(0x1df)](_0x4997dd(0x1ca))),{'ok':!![],'data':{'skillName':_0x52f308[_0x4997dd(0x1c9)][_0x4997dd(0x201)],'type':_0x52f308['rendered'][_0x4997dd(0x21a)],'dir':_0x52f308['skillDir'],'files':_0x52f308['rendered'][_0x4997dd(0x217)][_0x4997dd(0x1da)](_0x4fb952=>_0x4fb952['path'])},'message':_0x4997dd(0x1ec)+_0x52f308[_0x4997dd(0x1c9)][_0x4997dd(0x201)]};}},{'service':a35_0x59df79(0x22d),'command':a35_0x59df79(0x1f9),'description':a35_0x59df79(0x236),'risk':a35_0x59df79(0x1fb),'requiresAuth':![],'requiresAppCode':![],'flags':[DIR_FLAG,STRICT_FLAG],async 'execute'(_0x304384){const _0x4d61be=a35_0x59df79,_0x37a01e=_0x304384[_0x4d61be(0x1df)](_0x4d61be(0x1f7)),_0x137e1c=validateSkillDirectory(_0x304384[_0x4d61be(0x215)](_0x4d61be(0x208)),{'strict':_0x37a01e});return throwIfSkillValidationFailed(_0x137e1c,_0x37a01e),{'ok':!![],'data':{'dir':_0x137e1c[_0x4d61be(0x208)],'type':_0x137e1c[_0x4d61be(0x21a)],'errors':_0x137e1c[_0x4d61be(0x22a)],'warnings':_0x137e1c[_0x4d61be(0x1ee)]},'message':'Skill\x20validation\x20passed.'};}},{'service':a35_0x59df79(0x22d),'command':a35_0x59df79(0x205),'description':a35_0x59df79(0x237),'risk':'read','flags':[CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG],async 'execute'(_0x20dadc){const _0xee19ec=a35_0x59df79,_0x24c43f=_0x20dadc['str'](_0xee19ec(0x1e4)),_0x2429fa=normalizeListScope(_0x20dadc[_0xee19ec(0x215)]('scope'));if(_0x20dadc['bool'](_0xee19ec(0x1f4))){const _0x3bc4b5=_0x20dadc[_0xee19ec(0x1f3)];if(!_0x3bc4b5)throw CliErrors[_0xee19ec(0x1e1)]();const {listLocalRuntimeSkills:_0x7156fb}=await import(_0xee19ec(0x223)),_0x277793=_0x7156fb({'env':_0x20dadc[_0xee19ec(0x1f2)]??_0xee19ec(0x1fe),'accessKey':_0x3bc4b5,'appCode':_0x20dadc[_0xee19ec(0x204)],'scopes':listScopeToRuntimeScopes(_0x2429fa),'code':_0x24c43f[_0xee19ec(0x1dc)]()||undefined}),_0x3ac23a=groupLocalRuntimeSkills(_0x277793);return{'ok':!![],'data':{'appCode':_0x20dadc[_0xee19ec(0x204)],'source':_0xee19ec(0x1f4),'scope':_0x2429fa,'total':_0x277793[_0xee19ec(0x1eb)],'personal':_0x3ac23a[_0xee19ec(0x232)][_0xee19ec(0x1eb)],'company':_0x3ac23a[_0xee19ec(0x1d7)][_0xee19ec(0x1eb)],'items':_0x277793[_0xee19ec(0x1da)](summarizeLocalRuntimeSkill),'skills':{'personal':_0x3ac23a['personal'][_0xee19ec(0x1da)](summarizeLocalRuntimeSkill),'company':_0x3ac23a[_0xee19ec(0x1d7)][_0xee19ec(0x1da)](summarizeLocalRuntimeSkill)}},'message':_0xee19ec(0x22c)+_0x277793[_0xee19ec(0x1eb)]+_0xee19ec(0x1ed)};}const {listRuntimeSkills:_0x2e7020}=await import('../../core/api-client.js'),_0x534f16=await _0x2e7020({'appCode':_0x20dadc['appCode'],'scope':listScopeToRemoteScope(_0x2429fa),'code':_0x24c43f[_0xee19ec(0x1dc)]()||undefined}),_0x563e85=shouldListScope(_0x2429fa,'personal')?_0x534f16['personal']??[]:[],_0x133e62=shouldListScope(_0x2429fa,_0xee19ec(0x1d7))?_0x534f16[_0xee19ec(0x1d7)]??[]:[],_0x576953=[..._0x563e85,..._0x133e62];return{'ok':!![],'data':{'appCode':_0x20dadc[_0xee19ec(0x204)],'source':_0xee19ec(0x1e7),'scope':_0x2429fa,'total':_0x576953[_0xee19ec(0x1eb)],'personal':_0x563e85[_0xee19ec(0x1eb)],'company':_0x133e62[_0xee19ec(0x1eb)],'items':_0x576953[_0xee19ec(0x1da)](summarizeRuntimeSkill),'skills':{'personal':_0x563e85['map'](summarizeRuntimeSkill),'company':_0x133e62['map'](summarizeRuntimeSkill)}},'message':_0xee19ec(0x22c)+_0x576953['length']+_0xee19ec(0x21c)};}},{'service':a35_0x59df79(0x22d),'command':'push','description':a35_0x59df79(0x235),'risk':a35_0x59df79(0x1d3),'flags':[DIR_FLAG],async 'execute'(_0x3d46db){const _0x3b35fb=a35_0x59df79,{createPersonalRuntimeSkill:_0x3e209a,downloadRuntimeSkillPackage:_0x2631a5,listRuntimeSkills:_0x2bbb96,updatePersonalRuntimeSkill:_0x4a3ff7}=await import(_0x3b35fb(0x22f)),{verifyRuntimeSkillPackage:_0xa3285c,verifyRuntimeSkillBundle:_0x78d67c,readPushDirectory:_0x4057e0,recordPushedRuntimeSkill:_0x159d5f}=await import('../../skills/runtime-skill-sync.js');if(!_0x3d46db[_0x3b35fb(0x1f3)])throw CliErrors[_0x3b35fb(0x1e1)]();const _0x50be8c=_0x3d46db[_0x3b35fb(0x215)](_0x3b35fb(0x208)),_0x393a9c=validateSkillDirectory(_0x50be8c);throwIfSkillValidationFailed(_0x393a9c);const _0x338255=_0x393a9c[_0x3b35fb(0x208)],_0x16dd6c=_0x4057e0(_0x338255,_0x3d46db[_0x3b35fb(0x204)]),_0x4a812d=(await _0x2bbb96({'appCode':_0x3d46db['appCode'],'scope':_0x3b35fb(0x232)}))[_0x3b35fb(0x232)][_0x3b35fb(0x1f6)](_0x420d1c=>_0x420d1c[_0x3b35fb(0x1f8)]===_0x16dd6c[_0x3b35fb(0x1f8)]),_0x2d9df8=_0x4a812d?await _0x4a3ff7(_0x16dd6c[_0x3b35fb(0x1f8)],_0x3d46db[_0x3b35fb(0x204)],_0x16dd6c[_0x3b35fb(0x213)]):await _0x3e209a(_0x3d46db['appCode'],_0x16dd6c['input']);let _0x3554c8=_0x2d9df8;if(isMultiFileManifest(_0x16dd6c['input'][_0x3b35fb(0x217)])){const _0x56b7a0=await _0x2631a5('personal',_0x2d9df8['skillCode']||_0x16dd6c[_0x3b35fb(0x1f8)],_0x3d46db['appCode']);_0x78d67c(_0x16dd6c[_0x3b35fb(0x213)][_0x3b35fb(0x217)],_0x56b7a0),_0x3554c8={..._0x2d9df8,'files':_0x16dd6c[_0x3b35fb(0x213)][_0x3b35fb(0x217)]};}else{if(isPackageBackedManifest(_0x2d9df8[_0x3b35fb(0x217)])){const _0x4a6cd8=await _0x2631a5(_0x3b35fb(0x232),_0x2d9df8[_0x3b35fb(0x1f8)]||_0x16dd6c[_0x3b35fb(0x1f8)],_0x3d46db[_0x3b35fb(0x204)]);_0xa3285c(_0x2d9df8[_0x3b35fb(0x217)],_0x4a6cd8);}}return _0x159d5f(_0x338255,_0x3554c8,_0x3d46db[_0x3b35fb(0x204)]),{'ok':!![],'data':summarizeRuntimeSkill(_0x2d9df8),'message':_0x4a812d?_0x3b35fb(0x211)+_0x16dd6c[_0x3b35fb(0x1f8)]:_0x3b35fb(0x231)+_0x16dd6c[_0x3b35fb(0x1f8)]};}}];async function syncRuntimeSkills(_0x8cec97){const _0x307d2f=a35_0x59df79,{downloadRuntimeSkillPackage:_0x4a3661,listRuntimeSkills:_0x150186}=await import(_0x307d2f(0x22f)),{linkEffectiveRuntimeSkills:_0x41c199,materializeRuntimeSkill:_0x4a97cf,pruneStaleRuntimeSkillCache:_0xb0cbad,pruneStaleRuntimeSkillLinks:_0x56490a}=await import(_0x307d2f(0x223)),_0x15645d=_0x8cec97[_0x307d2f(0x215)](_0x307d2f(0x1e4)),_0x112b15=normalizeSyncScopes(_0x8cec97['str'](_0x307d2f(0x1d8))),_0x31a69d=_0x8cec97[_0x307d2f(0x1f2)]??_0x307d2f(0x1fe),_0x20f57a=_0x8cec97[_0x307d2f(0x1f3)];if(!_0x20f57a)throw CliErrors[_0x307d2f(0x1e1)](_0x307d2f(0x21f));const _0x584b13=await Promise[_0x307d2f(0x228)](_0x112b15[_0x307d2f(0x1da)](_0x1adb81=>_0x150186({'appCode':_0x8cec97[_0x307d2f(0x204)],'scope':_0x1adb81,'code':_0x15645d['trim']()||undefined}))),_0x9f0cb=_0x112b15['includes'](_0x307d2f(0x232))?_0x584b13[_0x307d2f(0x1cc)]((_0x5a8fa5,_0x281a98)=>_0x112b15[_0x281a98]===_0x307d2f(0x232)?_0x5a8fa5['personal']:[]):[],_0x1b145d=_0x112b15[_0x307d2f(0x214)]('company')?_0x584b13[_0x307d2f(0x1cc)]((_0xa01a9,_0x1461c2)=>_0x112b15[_0x1461c2]===_0x307d2f(0x1d7)?_0xa01a9['company']:[]):[],_0x17bfbf=new Set([..._0x9f0cb['map'](_0x53cdb4=>_0x53cdb4[_0x307d2f(0x1f8)]?.['trim']())[_0x307d2f(0x1ea)](_0x29fdcb=>Boolean(_0x29fdcb)),..._0x1b145d[_0x307d2f(0x1da)](_0x5afc54=>_0x5afc54[_0x307d2f(0x1f8)]?.['trim']())[_0x307d2f(0x1ea)](_0x52a880=>Boolean(_0x52a880))]),_0x3f30c7=_0x15645d[_0x307d2f(0x1dc)]()?[_0x15645d[_0x307d2f(0x1dc)]()]:undefined,_0xefef52=_0x112b15[_0x307d2f(0x1eb)]===0x2&&_0x112b15[_0x307d2f(0x214)]('personal')&&_0x112b15[_0x307d2f(0x214)]('company'),_0x39aef0=_0xefef52?_0x56490a(_0x8cec97[_0x307d2f(0x204)],_0x17bfbf,{},_0x3f30c7):[],_0x1e2440=_0xb0cbad({'env':_0x31a69d,'accessKey':_0x20f57a,'appCode':_0x8cec97['appCode'],'activeSkillCodes':_0x17bfbf,'pruneSkillCodes':_0x3f30c7,'scopes':_0x112b15}),_0x587b64=[];for(const _0x271e0b of _0x9f0cb){_0x587b64[_0x307d2f(0x1e5)](_0x4a97cf(_0x271e0b,_0x307d2f(0x232),{'env':_0x31a69d,'accessKey':_0x20f57a,'appCode':_0x8cec97['appCode'],'packageBytes':await downloadPackageIfNeeded(_0x271e0b,_0x307d2f(0x232),_0x8cec97[_0x307d2f(0x204)],_0x4a3661)}));}for(const _0x1b6506 of _0x1b145d){_0x587b64[_0x307d2f(0x1e5)](_0x4a97cf(_0x1b6506,_0x307d2f(0x1d7),{'env':_0x31a69d,'accessKey':_0x20f57a,'appCode':_0x8cec97[_0x307d2f(0x204)],'packageBytes':await downloadPackageIfNeeded(_0x1b6506,_0x307d2f(0x1d7),_0x8cec97[_0x307d2f(0x204)],_0x4a3661)}));}const _0x281526=_0x41c199(_0x587b64,_0x8cec97[_0x307d2f(0x204)]),_0xc025f4=countLinkActions(_0x281526);return{'ok':!![],'data':{'appCode':_0x8cec97[_0x307d2f(0x204)],'personal':_0x9f0cb[_0x307d2f(0x1eb)],'company':_0x1b145d[_0x307d2f(0x1eb)],'materialized':_0x587b64['length'],'links':{'total':_0x281526[_0x307d2f(0x1eb)],'created':_0xc025f4[_0x307d2f(0x1f0)]??0x0,'updated':_0xc025f4[_0x307d2f(0x1fc)]??0x0,'unchanged':_0xc025f4[_0x307d2f(0x1e9)]??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x39aef0[_0x307d2f(0x1ea)](_0x5e0e43=>_0x5e0e43[_0x307d2f(0x1e6)]===_0x307d2f(0x1cd))['length'],'cacheDirs':_0x1e2440[_0x307d2f(0x1ea)](_0x541dcc=>_0x541dcc[_0x307d2f(0x1e6)]==='removed')[_0x307d2f(0x1eb)],'skipped':[..._0x39aef0,..._0x1e2440]['filter'](_0x4676ac=>_0x4676ac[_0x307d2f(0x1e6)]===_0x307d2f(0x218))[_0x307d2f(0x1eb)]},'skills':{'personal':_0x9f0cb[_0x307d2f(0x1da)](summarizeRuntimeSkill),'company':_0x1b145d['map'](summarizeRuntimeSkill)}},'message':_0x307d2f(0x1dd)+_0x9f0cb['length']+'\x20personal\x20and\x20'+_0x1b145d[_0x307d2f(0x1eb)]+_0x307d2f(0x1d4)};}function buildSkillCreatePlan(_0x22cf3d,_0x28a77b,_0x2c8259){const _0xb063ee=a35_0x59df79,_0x499247=renderSkillTemplate({'skillName':_0x22cf3d,'type':_0x28a77b}),_0x39f45a=resolve(normalizeSkillTarget(_0x2c8259));return{'rendered':_0x499247,'targetRoot':_0x39f45a,'skillDir':resolve(_0x39f45a,_0x499247[_0xb063ee(0x201)])};}function normalizeSkillTarget(_0x13cd24){return(_0x13cd24||DEFAULT_SKILL_TARGET)['trim']()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x4e6d18,_0x91a0b3){const _0x322c5f=a35_0x59df79;if(existsSync(_0x4e6d18['skillDir'])){const _0x2073b8=lstatSync(_0x4e6d18['skillDir']);if(!_0x2073b8[_0x322c5f(0x1f1)]()||_0x2073b8[_0x322c5f(0x1cf)]())throw CliErrors[_0x322c5f(0x1e8)](_0x322c5f(0x226)+_0x4e6d18['skillDir']);if(!_0x91a0b3)throw CliErrors['validation']('Skill\x20directory\x20already\x20exists:\x20'+_0x4e6d18[_0x322c5f(0x229)],_0x322c5f(0x20f));}for(const _0x13b580 of _0x4e6d18['rendered'][_0x322c5f(0x217)]){const _0x4d71ca=resolve(_0x4e6d18['skillDir'],_0x13b580[_0x322c5f(0x20c)]),_0x52a77f=dirname(_0x4d71ca);mkdirSync(_0x52a77f,{'recursive':!![]});if(existsSync(_0x4d71ca)&&lstatSync(_0x4d71ca)[_0x322c5f(0x1cf)]())throw CliErrors['validation'](_0x322c5f(0x1d5)+_0x4d71ca);writeFileSync(_0x4d71ca,_0x13b580['content'],'utf8');}}function a35_0x2b3b(){const _0x32639a=['object','create','dir','340674WGIIXz','Skill\x20sync\x20scope:\x20all\x20(personal/company),\x20personal,\x20or\x20company','4652892VUKNQp','path','pulledAt','709704Cmexct','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','WRITE','Updated\x20personal\x20Skill\x20','Compatibility\x20flag;\x20no\x20extra\x20checks\x20are\x20enabled','input','includes','str','name','files','skipped','metadataPath','type','linkedPaths','\x20remote\x20Skill(s).','26zuyzNq','Only\x20target\x20a\x20specific\x20runtime\x20Skill\x20code','Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.','Skill\x20template\x20type','Local\x20Skill\x20directory\x20containing\x20SKILL.md','some','../../skills/runtime-skill-sync.js','isArray','reduce','Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20','41009230pBHMdI','all','skillDir','errors','boolean','Listed\x20','skill','cacheDir','../../core/api-client.js','target','Created\x20personal\x20Skill\x20','personal','Skill\x20list\x20scope:\x20all,\x20personal,\x20or\x20company','Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','Push\x20a\x20local\x20Skill\x20directory\x20to\x20personal\x20runtime\x20Skill\x20scope','Validate\x20a\x20local\x20Skill\x20directory\x20as\x20a\x20self-contained\x20delivery\x20package','List\x20runtime\x20Skills\x20from\x20remote\x20or\x20CLI-managed\x20local\x20cache','rendered','force','9fFKarx','flatMap','removed','string','isSymbolicLink','lowercase\x20letters,\x20numbers,\x20and\x20single\x20hyphens','status','63pMLLzl','write','\x20company\x20Skill(s).','Refusing\x20to\x20overwrite\x20symlink:\x20','153345bxxHOD','company','scope','Unsupported\x20Skill\x20sync\x20scope:\x20','map','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','trim','Installed\x20','skillMdPath','bool','Overwrite\x20generated\x20files\x20when\x20the\x20Skill\x20directory\x20already\x20exists','authRequired','treeHash','840564vZkCnJ','code','push','action','remote','validation','unchanged','filter','length','Created\x20local\x20Skill\x20draft\x20','\x20local\x20Skill(s).','warnings','1790465kZuvPO','created','isDirectory','envName','accessKey','local','Unsupported\x20Skill\x20list\x20scope:\x20','find','strict','skillCode','validate','install','read','updated','Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','production','ossPath','version','skillName','SKILL.md','readonly','appCode','list'];a35_0x2b3b=function(){return _0x32639a;};return a35_0x2b3b();}async function downloadPackageIfNeeded(_0x2d0f6d,_0x28a23a,_0x737980,_0x89e19d){const _0x110e84=a35_0x59df79;if(!isPackageBackedManifest(_0x2d0f6d[_0x110e84(0x217)]))return undefined;return _0x89e19d(_0x28a23a,_0x2d0f6d[_0x110e84(0x1f8)],_0x737980);}function normalizeSyncScopes(_0x43fb75){const _0x3f4e3a=a35_0x59df79,_0x30983f=_0x43fb75[_0x3f4e3a(0x1dc)]();if(!_0x30983f||_0x30983f===_0x3f4e3a(0x228))return[_0x3f4e3a(0x232),_0x3f4e3a(0x1d7)];if(_0x30983f===_0x3f4e3a(0x232)||_0x30983f==='company')return[_0x30983f];throw CliErrors[_0x3f4e3a(0x1e8)](_0x3f4e3a(0x1d9)+_0x43fb75);}function normalizeListScope(_0x2097fe){const _0x22b406=a35_0x59df79,_0x4874fb=_0x2097fe[_0x22b406(0x1dc)]();if(!_0x4874fb)return _0x22b406(0x228);if(_0x4874fb===_0x22b406(0x232)||_0x4874fb===_0x22b406(0x1d7)||_0x4874fb===_0x22b406(0x228))return _0x4874fb;throw CliErrors[_0x22b406(0x1e8)](_0x22b406(0x1f5)+_0x2097fe);}function shouldListScope(_0x52dbd0,_0x571773){const _0x25a124=a35_0x59df79;if(_0x52dbd0===_0x25a124(0x228))return!![];return _0x52dbd0===_0x571773;}function listScopeToRuntimeScopes(_0x2e54b6){const _0x19de12=a35_0x59df79;if(_0x2e54b6==='all')return['personal',_0x19de12(0x1d7)];return[_0x2e54b6===_0x19de12(0x1d7)?_0x19de12(0x1d7):_0x2e54b6];}function listScopeToRemoteScope(_0x440972){return _0x440972;}function groupLocalRuntimeSkills(_0x9307a7){const _0x255eb8=a35_0x59df79;return{'personal':_0x9307a7['filter'](_0x52fc16=>_0x52fc16[_0x255eb8(0x1d8)]==='personal'),'company':_0x9307a7['filter'](_0x8d91f7=>_0x8d91f7['scope']===_0x255eb8(0x1d7)),'builtin':_0x9307a7['filter'](_0x36e983=>_0x36e983['scope']==='builtin')};}function countLinkActions(_0xec783e){const _0x2b2836=a35_0x59df79;return _0xec783e[_0x2b2836(0x225)]((_0x2e44a1,_0x3acbd7)=>{return _0x2e44a1[_0x3acbd7['action']]=(_0x2e44a1[_0x3acbd7['action']]??0x0)+0x1,_0x2e44a1;},{});}function isPackageBackedManifest(_0x3fe02a){const _0x2b0f13=a35_0x59df79;return!!_0x3fe02a&&typeof _0x3fe02a===_0x2b0f13(0x206)&&!Array[_0x2b0f13(0x224)](_0x3fe02a)&&typeof _0x3fe02a['ossPath']===_0x2b0f13(0x1ce)&&_0x3fe02a[_0x2b0f13(0x1ff)]['length']>0x0&&Array[_0x2b0f13(0x224)](_0x3fe02a[_0x2b0f13(0x217)]);}function isMultiFileManifest(_0x285a61){const _0x19672e=a35_0x59df79;return!!_0x285a61&&typeof _0x285a61===_0x19672e(0x206)&&!Array['isArray'](_0x285a61)&&Array['isArray'](_0x285a61[_0x19672e(0x217)])&&_0x285a61[_0x19672e(0x217)][_0x19672e(0x222)](_0x417823=>_0x417823['path']!==_0x19672e(0x202));}
1
+ function a41_0x5d0e(){const _0x328398=['17241829bghjiD','763521ENvVFq','3467635tNyHFb','1llFqOc','4dMEDYo','54uiyMEV','29379GLPoHy','4435560lFhlud','10AsVmMr','2707632oubIyu','1265602KiqbBR'];a41_0x5d0e=function(){return _0x328398;};return a41_0x5d0e();}(function(_0x44d3d2,_0x1b7dbb){const _0x35cbdb=a41_0x43dc,_0x155eb1=_0x44d3d2();while(!![]){try{const _0x18a6a0=-parseInt(_0x35cbdb(0x119))/0x1*(-parseInt(_0x35cbdb(0x115))/0x2)+-parseInt(_0x35cbdb(0x117))/0x3*(parseInt(_0x35cbdb(0x11a))/0x4)+parseInt(_0x35cbdb(0x118))/0x5+-parseInt(_0x35cbdb(0x11b))/0x6*(-parseInt(_0x35cbdb(0x11c))/0x7)+parseInt(_0x35cbdb(0x112))/0x8+parseInt(_0x35cbdb(0x114))/0x9+-parseInt(_0x35cbdb(0x113))/0xa*(parseInt(_0x35cbdb(0x116))/0xb);if(_0x18a6a0===_0x1b7dbb)break;else _0x155eb1['push'](_0x155eb1['shift']());}catch(_0xea9a6d){_0x155eb1['push'](_0x155eb1['shift']());}}}(a41_0x5d0e,0x61088));function a41_0x43dc(_0x721dc7,_0x3e74be){_0x721dc7=_0x721dc7-0x112;const _0x5d0eac=a41_0x5d0e();let _0x43dcc3=_0x5d0eac[_0x721dc7];return _0x43dcc3;}import{createCommand}from'./commands/create.js';import{installCommand}from'./commands/install.js';import{listCommand}from'./commands/list.js';import{pushCommand}from'./commands/push.js';import{validateCommand}from'./commands/validate.js';export const skillDefinitions=[installCommand,createCommand,validateCommand,listCommand,pushCommand];
@@ -0,0 +1 @@
1
+ (function(_0x25a380,_0x5e21b8){var _0x2ef0f9=a42_0x1a01,_0x5d3c90=_0x25a380();while(!![]){try{var _0x38c39d=-parseInt(_0x2ef0f9(0x170))/0x1*(-parseInt(_0x2ef0f9(0x173))/0x2)+-parseInt(_0x2ef0f9(0x16d))/0x3*(-parseInt(_0x2ef0f9(0x166))/0x4)+-parseInt(_0x2ef0f9(0x165))/0x5+parseInt(_0x2ef0f9(0x16b))/0x6+-parseInt(_0x2ef0f9(0x161))/0x7+parseInt(_0x2ef0f9(0x163))/0x8*(-parseInt(_0x2ef0f9(0x16f))/0x9)+parseInt(_0x2ef0f9(0x167))/0xa;if(_0x38c39d===_0x5e21b8)break;else _0x5d3c90['push'](_0x5d3c90['shift']());}catch(_0x9ac41e){_0x5d3c90['push'](_0x5d3c90['shift']());}}}(a42_0x234a,0x34935));export function isPackageBackedManifest(_0x3cf69e){var _0x1eb29e=a42_0x1a01;return!!_0x3cf69e&&typeof _0x3cf69e==='object'&&!Array['isArray'](_0x3cf69e)&&typeof _0x3cf69e[_0x1eb29e(0x16c)]===_0x1eb29e(0x164)&&_0x3cf69e[_0x1eb29e(0x16c)][_0x1eb29e(0x172)]>0x0&&Array['isArray'](_0x3cf69e[_0x1eb29e(0x16a)]);}export function isMultiFileManifest(_0x1d691c){var _0x3d2d0f=a42_0x1a01;return!!_0x1d691c&&typeof _0x1d691c===_0x3d2d0f(0x16e)&&!Array[_0x3d2d0f(0x171)](_0x1d691c)&&Array[_0x3d2d0f(0x171)](_0x1d691c[_0x3d2d0f(0x16a)])&&_0x1d691c[_0x3d2d0f(0x16a)][_0x3d2d0f(0x169)](_0x6bc6bb=>_0x6bc6bb[_0x3d2d0f(0x162)]!==_0x3d2d0f(0x168));}function a42_0x1a01(_0x3435cf,_0x2d65a4){_0x3435cf=_0x3435cf-0x161;var _0x234af3=a42_0x234a();var _0x1a01ff=_0x234af3[_0x3435cf];return _0x1a01ff;}function a42_0x234a(){var _0x217ada=['length','4622juSKam','2177224XZoIqU','path','16936eaBayU','string','1925995iSaqFt','77412VisIvq','8983130EXzQOl','SKILL.md','some','files','1074168FhYDeH','ossPath','9LcABxO','object','981xrqqeM','3bjPRte','isArray'];a42_0x234a=function(){return _0x217ada;};return a42_0x234a();}
@@ -0,0 +1 @@
1
+ function a43_0x4735(){const _0x15bbcb=['all','3830aVBckE','company','2272208gMkNgT','21xqCbiU','12753bFWxij','1503518BYMNfY','personal','12Ymavmk','33FuvmUf','3654415ZGkKyk','4761570ujIAbU','validation','trim','2JrzBxZ','1082744xIwBom','Unsupported\x20Skill\x20list\x20scope:\x20','1427676pNsCAw'];a43_0x4735=function(){return _0x15bbcb;};return a43_0x4735();}(function(_0x56c2b2,_0x48fe40){const _0x53fdf5=a43_0xddc5,_0x332adf=_0x56c2b2();while(!![]){try{const _0x1d57c3=-parseInt(_0x53fdf5(0x19d))/0x1*(parseInt(_0x53fdf5(0x195))/0x2)+parseInt(_0x53fdf5(0x19a))/0x3+parseInt(_0x53fdf5(0x1a4))/0x4+-parseInt(_0x53fdf5(0x199))/0x5*(-parseInt(_0x53fdf5(0x197))/0x6)+parseInt(_0x53fdf5(0x193))/0x7*(-parseInt(_0x53fdf5(0x19e))/0x8)+parseInt(_0x53fdf5(0x194))/0x9*(-parseInt(_0x53fdf5(0x1a2))/0xa)+parseInt(_0x53fdf5(0x198))/0xb*(-parseInt(_0x53fdf5(0x1a0))/0xc);if(_0x1d57c3===_0x48fe40)break;else _0x332adf['push'](_0x332adf['shift']());}catch(_0x36ff76){_0x332adf['push'](_0x332adf['shift']());}}}(a43_0x4735,0xc5397));import{CliErrors}from'../../errors.js';export function normalizeSyncScopes(_0x4ae94f){const _0x4d4458=a43_0xddc5,_0x29e1d8=_0x4ae94f['trim']();if(!_0x29e1d8||_0x29e1d8===_0x4d4458(0x1a1))return[_0x4d4458(0x196),'company'];if(_0x29e1d8===_0x4d4458(0x196)||_0x29e1d8===_0x4d4458(0x1a3))return[_0x29e1d8];throw CliErrors[_0x4d4458(0x19b)]('Unsupported\x20Skill\x20sync\x20scope:\x20'+_0x4ae94f);}export function normalizeListScope(_0x151ac9){const _0x1c5a57=a43_0xddc5,_0x5aff02=_0x151ac9[_0x1c5a57(0x19c)]();if(!_0x5aff02)return _0x1c5a57(0x1a1);if(_0x5aff02==='personal'||_0x5aff02===_0x1c5a57(0x1a3)||_0x5aff02===_0x1c5a57(0x1a1))return _0x5aff02;throw CliErrors[_0x1c5a57(0x19b)](_0x1c5a57(0x19f)+_0x151ac9);}function a43_0xddc5(_0x595b19,_0x132bce){_0x595b19=_0x595b19-0x193;const _0x473507=a43_0x4735();let _0xddc5c5=_0x473507[_0x595b19];return _0xddc5c5;}export function shouldListScope(_0x5d040e,_0x556d9e){const _0x490a87=a43_0xddc5;if(_0x5d040e===_0x490a87(0x1a1))return!![];return _0x5d040e===_0x556d9e;}export function listScopeToRuntimeScopes(_0x5b3140){const _0x5662bb=a43_0xddc5;if(_0x5b3140===_0x5662bb(0x1a1))return[_0x5662bb(0x196),_0x5662bb(0x1a3)];return[_0x5b3140===_0x5662bb(0x1a3)?'company':_0x5b3140];}export function listScopeToRemoteScope(_0x21870b){return _0x21870b;}
@@ -0,0 +1 @@
1
+ function a44_0x3ad4(_0x2f897c,_0x3ddba6){_0x2f897c=_0x2f897c-0xea;var _0x14dbb0=a44_0x14db();var _0x3ad4a8=_0x14dbb0[_0x2f897c];return _0x3ad4a8;}(function(_0x2c8c46,_0x43b91c){var _0x2c6a4a=a44_0x3ad4,_0x373b2a=_0x2c8c46();while(!![]){try{var _0x544616=-parseInt(_0x2c6a4a(0xf1))/0x1*(-parseInt(_0x2c6a4a(0xfc))/0x2)+parseInt(_0x2c6a4a(0xee))/0x3+-parseInt(_0x2c6a4a(0xf8))/0x4+parseInt(_0x2c6a4a(0xf6))/0x5+-parseInt(_0x2c6a4a(0xeb))/0x6+parseInt(_0x2c6a4a(0xf7))/0x7+-parseInt(_0x2c6a4a(0xf0))/0x8;if(_0x544616===_0x43b91c)break;else _0x373b2a['push'](_0x373b2a['shift']());}catch(_0x2c2f4f){_0x373b2a['push'](_0x373b2a['shift']());}}}(a44_0x14db,0xcfd15));export function summarizeRuntimeSkill(_0x439906){var _0x1238aa=a44_0x3ad4;return{'id':_0x439906['id'],'skillCode':_0x439906['skillCode'],'skillName':_0x439906[_0x1238aa(0xf4)],'scope':_0x439906['scope'],'version':_0x439906[_0x1238aa(0xea)],'readonly':_0x439906[_0x1238aa(0xfa)]};}function a44_0x14db(){var _0x2852e0=['pulledAt','readonly','contentHash','116664calCpV','version','924012NyjbFK','linkedPaths','metadataPath','2468319RsWNSl','status','11371224lZDZot','6KhlJTP','tags','treeHash','skillName','dir','5183220NbyaBT','10415720rbqxZv','5082972sZkiQS'];a44_0x14db=function(){return _0x2852e0;};return a44_0x14db();}export function summarizeLocalRuntimeSkill(_0x69aedc){var _0x3fdd05=a44_0x3ad4;return{'id':_0x69aedc['id'],'skillCode':_0x69aedc['skillCode'],'skillName':_0x69aedc[_0x3fdd05(0xf4)],'scope':_0x69aedc['scope'],'appCode':_0x69aedc['appCode'],'version':_0x69aedc['version'],'status':_0x69aedc[_0x3fdd05(0xef)],'readonly':_0x69aedc[_0x3fdd05(0xfa)],'tags':_0x69aedc[_0x3fdd05(0xf2)],'dir':_0x69aedc[_0x3fdd05(0xf5)],'cacheDir':_0x69aedc['cacheDir'],'skillMdPath':_0x69aedc['skillMdPath'],'metadataPath':_0x69aedc[_0x3fdd05(0xed)],'linkedPaths':_0x69aedc[_0x3fdd05(0xec)],'contentHash':_0x69aedc[_0x3fdd05(0xfb)],'treeHash':_0x69aedc[_0x3fdd05(0xf3)],'pulledAt':_0x69aedc[_0x3fdd05(0xf9)]};}