@lovrabet/lovrabet-cli 2.1.3 → 2.1.4-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) 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 -1
  37. package/lib/commands/skill/commands/install.js +1 -1
  38. package/lib/commands/skill/commands/list.js +1 -1
  39. package/lib/commands/skill/commands/push.js +1 -1
  40. package/lib/commands/skill/commands/validate.js +1 -1
  41. package/lib/commands/skill/flags.js +1 -1
  42. package/lib/commands/skill/index.js +1 -1
  43. package/lib/commands/skill/manifest-helpers.js +1 -1
  44. package/lib/commands/skill/scopes.js +1 -1
  45. package/lib/commands/skill/summary.js +1 -1
  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 -1
  87. package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
  88. package/lib/skills/runtime-skill-sync/hashing.js +1 -1
  89. package/lib/skills/runtime-skill-sync/links.js +1 -1
  90. package/lib/skills/runtime-skill-sync/list-local.js +1 -1
  91. package/lib/skills/runtime-skill-sync/local-files.js +1 -1
  92. package/lib/skills/runtime-skill-sync/materialize.js +1 -1
  93. package/lib/skills/runtime-skill-sync/metadata.js +1 -1
  94. package/lib/skills/runtime-skill-sync/paths.js +1 -1
  95. package/lib/skills/runtime-skill-sync/push.js +1 -1
  96. package/lib/skills/runtime-skill-sync/scopes.js +1 -1
  97. package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
  98. package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
  99. package/lib/skills/runtime-skill-sync.js +1 -1
  100. package/lib/utils/apply-jq-filter.js +1 -1
  101. package/lib/utils/logger.js +1 -1
  102. package/lib/utils/params.js +1 -1
  103. package/lib/utils/platform.js +1 -1
  104. package/lib/utils/update-notice.js +1 -1
  105. package/lib/utils/version.js +1 -1
  106. package/lib/utils/write-cli-side-channel.js +1 -1
  107. package/package.json +1 -1
@@ -1 +1 @@
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
+ const a28_0x21233e=a28_0x2f83;function a28_0x2f83(_0x329249,_0x2ca3c3){_0x329249=_0x329249-0x1da;const _0x23ff0d=a28_0x23ff();let _0x2f83f8=_0x23ff0d[_0x329249];return _0x2f83f8;}(function(_0x2c30d4,_0xaea407){const _0x3e85f4=a28_0x2f83,_0x720e22=_0x2c30d4();while(!![]){try{const _0x44963c=-parseInt(_0x3e85f4(0x1eb))/0x1+-parseInt(_0x3e85f4(0x1f0))/0x2*(-parseInt(_0x3e85f4(0x1e9))/0x3)+parseInt(_0x3e85f4(0x1f2))/0x4+parseInt(_0x3e85f4(0x1e7))/0x5+parseInt(_0x3e85f4(0x1de))/0x6+-parseInt(_0x3e85f4(0x1da))/0x7*(-parseInt(_0x3e85f4(0x1e0))/0x8)+-parseInt(_0x3e85f4(0x1ee))/0x9*(parseInt(_0x3e85f4(0x1ec))/0xa);if(_0x44963c===_0xaea407)break;else _0x720e22['push'](_0x720e22['shift']());}catch(_0x1d4d49){_0x720e22['push'](_0x720e22['shift']());}}}(a28_0x23ff,0xb5b14));import{logger}from'../../utils/logger.js';import{CLI_DISPLAY_NAME}from'../../constant/cli.js';function a28_0x23ff(){const _0x42999d=['*\x20Logs\x20cleared','duration','length','3841770pmKQUK','\x20\x20\x20Time:\x20','9smEKVV','forEach','447238axBpHo','226640juQROt','message','639IiDMUd','logs','97954VXyuJT','details','1008784lYKQZL','Clear\x20command\x20history\x20logs','log','clear','level','1575iAGRhF','readLogs','clearLogs','success','7324128DOfCxG','timestamp','14664ALFIjx','\x20logs:\x0a','en-US','read'];a28_0x23ff=function(){return _0x42999d;};return a28_0x23ff();}function printLogs(_0x3b8484){const _0x2a6b4d=a28_0x2f83;if(_0x3b8484[_0x2a6b4d(0x1e6)]===0x0){console[_0x2a6b4d(0x1f4)]('*\x20No\x20logs\x20found');return;}console[_0x2a6b4d(0x1f4)]('*\x20'+CLI_DISPLAY_NAME+_0x2a6b4d(0x1e1)),_0x3b8484[_0x2a6b4d(0x1ea)]((_0x3db31c,_0x53521a)=>{const _0x388ff5=_0x2a6b4d,_0xa1e502=new Date(_0x3db31c[_0x388ff5(0x1df)])['toLocaleString'](_0x388ff5(0x1e2)),_0x449963=_0x3db31c[_0x388ff5(0x1f6)]===_0x388ff5(0x1dd)?'√':_0x3db31c['level']==='error'?'×':_0x3db31c[_0x388ff5(0x1f6)]==='warn'?'!':'i';console[_0x388ff5(0x1f4)](_0x53521a+0x1+'.\x20'+_0x449963+'\x20['+_0x3db31c['command']+']\x20'+_0x3db31c[_0x388ff5(0x1ed)]),console[_0x388ff5(0x1f4)](_0x388ff5(0x1e8)+_0xa1e502),_0x3db31c[_0x388ff5(0x1e5)]&&console[_0x388ff5(0x1f4)]('\x20\x20\x20Duration:\x20'+_0x3db31c[_0x388ff5(0x1e5)]+'ms'),_0x3db31c[_0x388ff5(0x1f1)]&&Object['keys'](_0x3db31c[_0x388ff5(0x1f1)])[_0x388ff5(0x1e6)]>0x0&&console['log']('\x20\x20\x20Details:\x20'+JSON['stringify'](_0x3db31c['details'],null,0x2)),console['log']('');});}export const logsDefinitions=[{'service':a28_0x21233e(0x1ef),'command':'show','description':'View\x20command\x20history\x20logs','risk':a28_0x21233e(0x1e3),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x1c0fe7){const _0x4ab93f=a28_0x21233e;return printLogs(logger[_0x4ab93f(0x1db)]()),{'ok':!![]};}},{'service':a28_0x21233e(0x1ef),'command':a28_0x21233e(0x1f5),'description':a28_0x21233e(0x1f3),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x343750){const _0x5f562b=a28_0x21233e;return logger[_0x5f562b(0x1dc)](),console[_0x5f562b(0x1f4)](_0x5f562b(0x1e4)),{'ok':!![]};}}];
@@ -1 +1 @@
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
+ const a29_0x3c1830=a29_0x4813;(function(_0xf70730,_0x443d85){const _0x5650e3=a29_0x4813,_0x2f8ad4=_0xf70730();while(!![]){try{const _0x1ae3f2=-parseInt(_0x5650e3(0x12e))/0x1+parseInt(_0x5650e3(0x157))/0x2+parseInt(_0x5650e3(0x121))/0x3+parseInt(_0x5650e3(0x12a))/0x4+parseInt(_0x5650e3(0x15d))/0x5+parseInt(_0x5650e3(0x145))/0x6*(-parseInt(_0x5650e3(0x149))/0x7)+-parseInt(_0x5650e3(0x122))/0x8*(parseInt(_0x5650e3(0x12c))/0x9);if(_0x1ae3f2===_0x443d85)break;else _0x2f8ad4['push'](_0x2f8ad4['shift']());}catch(_0x347a5d){_0x2f8ad4['push'](_0x2f8ad4['shift']());}}}(a29_0x4f3b,0x5469a));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_0x3c1830(0x12d),'type':'string','description':a29_0x3c1830(0x14d)},FUNCTION_NAME_FLAG={'name':'name','type':a29_0x3c1830(0x147),'required':!![],'description':a29_0x3c1830(0x13b)},DESCRIPTION_FLAG={'name':'description','type':a29_0x3c1830(0x147),'description':'Personal\x20BFF\x20description'},SOURCE_SESSION_FLAG={'name':a29_0x3c1830(0x15e),'type':a29_0x3c1830(0x147),'description':a29_0x3c1830(0x152)};function a29_0x4813(_0x4f508f,_0x3949d8){_0x4f508f=_0x4f508f-0x117;const _0x4f3b02=a29_0x4f3b();let _0x481365=_0x4f3b02[_0x4f508f];return _0x481365;}function normalizeFunctionName(_0x5f55dc){const _0x2c27f4=a29_0x3c1830,_0x1e25c9=String(_0x5f55dc||'')['trim']();if(!_0x1e25c9||!FUNCTION_NAME_PATTERN[_0x2c27f4(0x118)](_0x1e25c9))throw CliErrors[_0x2c27f4(0x151)](_0x2c27f4(0x13d));return _0x1e25c9;}function readScriptFile(_0x182469){const _0x4cc7b3=a29_0x3c1830;if(!_0x182469)throw CliErrors[_0x4cc7b3(0x151)](_0x4cc7b3(0x139));if(!existsSync(_0x182469))throw CliErrors[_0x4cc7b3(0x151)]('File\x20not\x20found:\x20'+_0x182469);if(!statSync(_0x182469)[_0x4cc7b3(0x15f)]())throw CliErrors['validation'](_0x4cc7b3(0x15b)+_0x182469);const _0x29a322=readFileSync(_0x182469,_0x4cc7b3(0x150));if(!_0x29a322[_0x4cc7b3(0x124)]())throw CliErrors[_0x4cc7b3(0x151)](_0x4cc7b3(0x12b));return _0x29a322;}function optionalTrimmed(_0x20ad0d){const _0x43a28d=String(_0x20ad0d||'')['trim']();return _0x43a28d||undefined;}function summarizeBff(_0x59b4fa){const _0x20be82=a29_0x3c1830;return{'id':_0x59b4fa['id'],'appCode':_0x59b4fa[_0x20be82(0x156)],'functionName':_0x59b4fa[_0x20be82(0x15c)],'description':_0x59b4fa[_0x20be82(0x131)],'scriptType':_0x59b4fa[_0x20be82(0x11e)],'version':_0x59b4fa[_0x20be82(0x136)],'gmtModified':_0x59b4fa[_0x20be82(0x153)],'updateTime':_0x59b4fa[_0x20be82(0x125)]};}function detailBff(_0x153b1d){const _0x44b0d3=a29_0x3c1830;return{'id':_0x153b1d['id'],'appCode':_0x153b1d[_0x44b0d3(0x156)],'functionName':_0x153b1d[_0x44b0d3(0x15c)],'description':_0x153b1d[_0x44b0d3(0x131)],'scriptType':_0x153b1d[_0x44b0d3(0x11e)],'scriptContent':_0x153b1d[_0x44b0d3(0x11c)]??'','config':_0x153b1d[_0x44b0d3(0x14e)],'version':_0x153b1d['version'],'createUserId':_0x153b1d[_0x44b0d3(0x159)],'gmtCreate':_0x153b1d['gmtCreate'],'gmtModified':_0x153b1d[_0x44b0d3(0x153)],'createTime':_0x153b1d[_0x44b0d3(0x15a)],'updateTime':_0x153b1d['updateTime']};}function buildCreateInput(_0xb3aa2){const _0x12defd=a29_0x3c1830;return{'functionName':normalizeFunctionName(_0xb3aa2[_0x12defd(0x14a)](_0x12defd(0x13f))),...optionalTrimmed(_0xb3aa2['str'](_0x12defd(0x131)))?{'description':optionalTrimmed(_0xb3aa2[_0x12defd(0x14a)](_0x12defd(0x131)))}:{},'scriptContent':readScriptFile(_0xb3aa2[_0x12defd(0x14a)](_0x12defd(0x12d))),...optionalTrimmed(_0xb3aa2['str']('source-session-id'))?{'sourceSessionId':optionalTrimmed(_0xb3aa2['str']('source-session-id'))}:{}};}function buildUpdateInput(_0x27541b){const _0x12afea=a29_0x3c1830,_0x2faf9b={};optionalTrimmed(_0x27541b[_0x12afea(0x14a)](_0x12afea(0x13f)))&&(_0x2faf9b['functionName']=normalizeFunctionName(_0x27541b[_0x12afea(0x14a)](_0x12afea(0x13f))));_0x27541b[_0x12afea(0x13a)](_0x12afea(0x131))!==undefined&&(_0x2faf9b[_0x12afea(0x131)]=_0x27541b['str'](_0x12afea(0x131)));optionalTrimmed(_0x27541b[_0x12afea(0x14a)]('file'))&&(_0x2faf9b[_0x12afea(0x11c)]=readScriptFile(_0x27541b['str'](_0x12afea(0x12d))));_0x27541b[_0x12afea(0x13a)]('source-session-id')!==undefined&&(_0x2faf9b[_0x12afea(0x146)]=_0x27541b[_0x12afea(0x14a)](_0x12afea(0x15e)));if(Object[_0x12afea(0x154)](_0x2faf9b)[_0x12afea(0x134)]===0x0)throw CliErrors['validation'](_0x12afea(0x143));return _0x2faf9b;}function parseExecParams(_0x11af2f){const _0x428c46=a29_0x3c1830,_0x13f7f4=parseJsonParams(_0x11af2f)??{};if(Array[_0x428c46(0x148)](_0x13f7f4))throw CliErrors[_0x428c46(0x151)](_0x428c46(0x130));return _0x13f7f4;}const personalBffList={'service':a29_0x3c1830(0x11b),'command':a29_0x3c1830(0x132),'description':a29_0x3c1830(0x119),'risk':'read','flags':[VERBOSE_FLAG],async 'execute'(_0x312408){const _0x366b5b=a29_0x3c1830,_0x30d5c9=await listPersonalBffs(_0x312408[_0x366b5b(0x156)]);return{'ok':!![],'data':{'total':_0x30d5c9[_0x366b5b(0x134)],'items':_0x312408[_0x366b5b(0x128)](_0x366b5b(0x14f))?_0x30d5c9:_0x30d5c9['map'](summarizeBff)}};}},personalBffDetail={'service':a29_0x3c1830(0x11b),'command':a29_0x3c1830(0x129),'description':a29_0x3c1830(0x158),'risk':a29_0x3c1830(0x137),'flags':[{...ID_FLAG,'description':'Personal\x20BFF\x20script\x20ID'}],async 'execute'(_0x18fee5){const _0x285af7=a29_0x3c1830,_0x6b230b=await getPersonalBff(_0x18fee5[_0x285af7(0x14c)]('id'),_0x18fee5[_0x285af7(0x156)]);return{'ok':!![],'data':detailBff(_0x6b230b)};}},personalBffCreate={'service':a29_0x3c1830(0x11b),'command':a29_0x3c1830(0x120),'description':a29_0x3c1830(0x126),'risk':a29_0x3c1830(0x123),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x4a6b15){const _0x2c2165=a29_0x3c1830,_0x303056=buildCreateInput(_0x4a6b15),_0x5f0dc5=await createPersonalBff(_0x4a6b15['appCode'],_0x303056);return{'ok':!![],'data':detailBff(_0x5f0dc5),'message':_0x2c2165(0x12f)+_0x5f0dc5['id']+(_0x5f0dc5[_0x2c2165(0x15c)]?'\x20('+_0x5f0dc5[_0x2c2165(0x15c)]+')':'')};},async 'dryRun'(_0xea9432){const _0x215758=a29_0x3c1830,_0x374b31=buildCreateInput(_0xea9432);return dryRun('POST',_0x215758(0x127))[_0x215758(0x140)]({'appCode':_0xea9432[_0x215758(0x156)],..._0x374b31})['description']('Preview:\x20create\x20personal\x20BFF\x20'+_0x374b31[_0x215758(0x15c)])['build']();}},personalBffUpdate={'service':'personal-bff','command':a29_0x3c1830(0x141),'description':a29_0x3c1830(0x13e),'risk':a29_0x3c1830(0x123),'flags':[{...ID_FLAG,'description':a29_0x3c1830(0x13c)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x42dfb6){const _0x501be6=a29_0x3c1830,_0x1e5f29=_0x42dfb6[_0x501be6(0x14c)]('id'),_0xce21d=buildUpdateInput(_0x42dfb6),_0x349e15=await updatePersonalBff(_0x1e5f29,_0x42dfb6[_0x501be6(0x156)],_0xce21d);return{'ok':!![],'data':detailBff(_0x349e15),'message':_0x501be6(0x11f)+_0x349e15['id']+(_0x349e15['functionName']?'\x20('+_0x349e15['functionName']+')':'')};},async 'dryRun'(_0x1441fe){const _0x51e8eb=a29_0x3c1830,_0x9c8874=_0x1441fe['num']('id'),_0x56238e=buildUpdateInput(_0x1441fe);return dryRun('POST',_0x51e8eb(0x142)+_0x9c8874+_0x51e8eb(0x133))['body']({'appCode':_0x1441fe[_0x51e8eb(0x156)],..._0x56238e})[_0x51e8eb(0x131)](_0x51e8eb(0x155)+_0x9c8874)[_0x51e8eb(0x138)]();}},personalBffExec={'service':a29_0x3c1830(0x11b),'command':a29_0x3c1830(0x144),'description':a29_0x3c1830(0x11d),'risk':a29_0x3c1830(0x14b),'flags':[{...ID_FLAG,'description':'Personal\x20BFF\x20script\x20ID'},{...PARAMS_FLAG,'description':a29_0x3c1830(0x11a)}],async 'validate'(_0x317599){const _0x302a7e=a29_0x3c1830;parseExecParams(_0x317599[_0x302a7e(0x14a)](_0x302a7e(0x117)));},async 'execute'(_0x3eedd9){const _0x52351d=a29_0x3c1830,_0x31b673=_0x3eedd9[_0x52351d(0x14c)]('id'),_0x16c964=parseExecParams(_0x3eedd9[_0x52351d(0x14a)]('params')),_0x5afcaf=await executePersonalBff(_0x31b673,_0x3eedd9[_0x52351d(0x156)],_0x16c964);return{'ok':!![],'data':{'result':_0x5afcaf},'message':_0x52351d(0x135)+_0x31b673};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];function a29_0x4f3b(){const _0x1565f4=['exec','354870qaFNhK','sourceSessionId','string','isArray','14WZtqBX','str','high-risk-write','num','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','config','verbose','utf8','validation','Optional\x20source\x20RuntimeAgent\x20session\x20id','gmtModified','keys','Preview:\x20update\x20personal\x20BFF\x20','appCode','994968egUHnG','Show\x20one\x20personal\x20BFF\x20by\x20id','createUserId','createTime','File\x20is\x20not\x20a\x20regular\x20file:\x20','functionName','2855480eyBXyG','source-session-id','isFile','params','test','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','personal-bff','scriptContent','Execute\x20a\x20personal\x20BFF\x20by\x20id\x20with\x20optional\x20JSON\x20params','scriptType','Updated\x20personal\x20BFF\x20','create','530406cWbmAO','8501128VpSisb','write','trim','updateTime','Create\x20a\x20personal\x20BFF\x20from\x20a\x20local\x20script\x20file','/client/runtime-bff/personal/create','bool','detail','1377124jlMjhN','Personal\x20BFF\x20script\x20file\x20is\x20blank.','9sokqfW','file','62978NxNbXQ','Created\x20personal\x20BFF\x20','--params\x20must\x20be\x20a\x20JSON\x20object.','description','list','/update','length','Executed\x20personal\x20BFF\x20','version','read','build','File\x20path\x20is\x20required.','flag','Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders','Personal\x20BFF\x20script\x20ID','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','Update\x20a\x20personal\x20BFF\x20by\x20id','name','body','update','/client/runtime-bff/personal/','personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.'];a29_0x4f3b=function(){return _0x1565f4;};return a29_0x4f3b();}
@@ -1 +1 @@
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
+ const a30_0x53b0b8=a30_0x1e52;(function(_0x5abc50,_0x4a7b57){const _0x50d313=a30_0x1e52,_0x57312e=_0x5abc50();while(!![]){try{const _0x153b9e=parseInt(_0x50d313(0x67))/0x1+-parseInt(_0x50d313(0x73))/0x2*(parseInt(_0x50d313(0x88))/0x3)+-parseInt(_0x50d313(0x8a))/0x4+parseInt(_0x50d313(0x77))/0x5*(-parseInt(_0x50d313(0x92))/0x6)+-parseInt(_0x50d313(0x70))/0x7+parseInt(_0x50d313(0x6e))/0x8+parseInt(_0x50d313(0x87))/0x9;if(_0x153b9e===_0x4a7b57)break;else _0x57312e['push'](_0x57312e['shift']());}catch(_0xcbd37c){_0x57312e['push'](_0x57312e['shift']());}}}(a30_0x4f2a,0xa5c7d));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';function a30_0x4f2a(){const _0x37a9b4=['\x20\x20[write]','644024nDBXIa','install','map','Skills','get','\x20\x20[high-risk-write]','App\x20Management','Personal\x20BFF','84FhzSzV','run','isSingleCommand','248014pqBBjz','Logs','API\x20Documentation','show','CLI\x20Built-in\x20Skill','Authentication','defaultCommand','8534080QSrPNZ','Instant\x20API','8962947XSvmKA','risk','list','2EmTgTY','write','description','Knowledge\x20Base','367085qKrbZx','Configuration','Schema','values','Self\x20Update','read','Service\x20Tree','Diagnostics','service','set','push','from','BFF\x20Scripts','command','login','Datasets','22013055PraDTn','1837101ToybXR'];a30_0x4f2a=function(){return _0x37a9b4;};return a30_0x4f2a();}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();function a30_0x1e52(_0x272423,_0x4e4495){_0x272423=_0x272423-0x65;const _0x4f2aea=a30_0x4f2a();let _0x1e52bc=_0x4f2aea[_0x272423];return _0x1e52bc;}export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x5401ed){const _0x45580f=a30_0x1e52;for(const _0x10581c of _0x5401ed){definitions[_0x45580f(0x80)](_0x10581c[_0x45580f(0x7f)]+':'+_0x10581c[_0x45580f(0x84)],_0x10581c);let _0x459d0c=serviceGroups[_0x45580f(0x8e)](_0x10581c['service']);!_0x459d0c&&(_0x459d0c=[],serviceGroups['set'](_0x10581c[_0x45580f(0x7f)],_0x459d0c)),_0x459d0c['push'](_0x10581c);}}function registerService(_0x214582,_0x16bd3e,_0x4fc689){const _0x17e7a0=a30_0x1e52;registerDefinitions(_0x16bd3e);const _0xd5b39c=_0xae5966=>_0xae5966===_0x17e7a0(0x7c)?'':_0xae5966===_0x17e7a0(0x74)?_0x17e7a0(0x89):_0x17e7a0(0x8f),_0x2bd8fc={'service':_0x16bd3e[0x0][_0x17e7a0(0x7f)],'label':_0x214582,'commands':_0x16bd3e[_0x17e7a0(0x8c)](_0x1265cf=>({'command':_0x1265cf[_0x17e7a0(0x84)],'description':_0x1265cf[_0x17e7a0(0x75)],'tag':_0xd5b39c(_0x1265cf[_0x17e7a0(0x71)])})),'defaultCommand':_0x4fc689?.[_0x17e7a0(0x6d)]??(_0x4fc689?.[_0x17e7a0(0x66)]?_0x16bd3e[0x0][_0x17e7a0(0x84)]:undefined),'isSingleCommand':_0x4fc689?.['isSingleCommand']};serviceRegistry[_0x17e7a0(0x81)](_0x2bd8fc),serviceByName[_0x17e7a0(0x80)](_0x2bd8fc[_0x17e7a0(0x7f)],_0x2bd8fc);}registerService(a30_0x53b0b8(0x6c),authDefinitions,{'defaultCommand':a30_0x53b0b8(0x85)}),registerService(a30_0x53b0b8(0x69),apiDocDefinitions),registerService(a30_0x53b0b8(0x86),datasetDefinitions),registerService(a30_0x53b0b8(0x6f),dataDefinitions),registerService('SQL\x20Queries',sqlDefinitions),registerService(a30_0x53b0b8(0x83),bffDefinitions),registerService(a30_0x53b0b8(0x91),personalBffDefinitions),registerService('Artifacts',artifactDefinitions),registerService(a30_0x53b0b8(0x76),kbDefinitions),registerService(a30_0x53b0b8(0x90),appDefinitions,{'defaultCommand':a30_0x53b0b8(0x72)}),registerService('Workspace',workspaceDefinitions),registerService(a30_0x53b0b8(0x78),configDefinitions,{'defaultCommand':'list'}),registerService(a30_0x53b0b8(0x7d),serviceDefinitions,{'defaultCommand':'list'}),registerService(a30_0x53b0b8(0x8d),skillDefinitions,{'defaultCommand':a30_0x53b0b8(0x8b)}),registerService(a30_0x53b0b8(0x6b),cliSkillDefinitions,{'defaultCommand':a30_0x53b0b8(0x8b)}),registerService(a30_0x53b0b8(0x7b),[updateDefinition],{'defaultCommand':a30_0x53b0b8(0x65),'isSingleCommand':!![]}),registerService(a30_0x53b0b8(0x7e),[doctorDefinition],{'isSingleCommand':!![]}),registerService(a30_0x53b0b8(0x79),[schemaDefinition],{'isSingleCommand':!![]}),registerService(a30_0x53b0b8(0x68),logsDefinitions,{'defaultCommand':a30_0x53b0b8(0x6a)});export function findDefinition(_0x421271,_0x1be653){const _0x26de47=a30_0x53b0b8;return definitions[_0x26de47(0x8e)](_0x421271+':'+_0x1be653);}export function isKnownService(_0x11f2a3){return serviceByName['has'](_0x11f2a3);}export function getServiceEntry(_0x3163f1){const _0x295af5=a30_0x53b0b8;return serviceByName[_0x295af5(0x8e)](_0x3163f1);}export function getAllDefinitions(){const _0x1ad0e5=a30_0x53b0b8;return Array[_0x1ad0e5(0x82)](definitions[_0x1ad0e5(0x7a)]());}
@@ -1 +1 @@
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
+ const a31_0x7c2c74=a31_0x4110;(function(_0xfdd188,_0x723df){const _0x5e1cd4=a31_0x4110,_0xae9e7=_0xfdd188();while(!![]){try{const _0x13dbfb=-parseInt(_0x5e1cd4(0xb1))/0x1+-parseInt(_0x5e1cd4(0xb6))/0x2*(-parseInt(_0x5e1cd4(0xb0))/0x3)+-parseInt(_0x5e1cd4(0xb8))/0x4*(parseInt(_0x5e1cd4(0xae))/0x5)+-parseInt(_0x5e1cd4(0xb3))/0x6+-parseInt(_0x5e1cd4(0xb7))/0x7+-parseInt(_0x5e1cd4(0xaf))/0x8+parseInt(_0x5e1cd4(0xb2))/0x9;if(_0x13dbfb===_0x723df)break;else _0xae9e7['push'](_0xae9e7['shift']());}catch(_0x2265df){_0xae9e7['push'](_0xae9e7['shift']());}}}(a31_0x1c94,0x85c24));import{buildSchemaPayload}from'../framework/schema-export.js';function a31_0x4110(_0x10c46e,_0x295cea){_0x10c46e=_0x10c46e-0xad;const _0x1c94bd=a31_0x1c94();let _0x4110f8=_0x1c94bd[_0x10c46e];return _0x4110f8;}async function execute(_0x46a96a){const _0x2d89a7=await buildSchemaPayload();return{'ok':!![],'data':_0x2d89a7};}export const schemaDefinition={'service':'schema','command':a31_0x7c2c74(0xad),'description':a31_0x7c2c74(0xb5),'risk':a31_0x7c2c74(0xb4),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};function a31_0x1c94(){const _0x1234ae=['24665868drPoVN','4591290xUrdTr','read','Export\x20machine-readable\x20command\x20schema\x20(JSON)','2136pWDRHY','1966160OHnmUa','4pbUwIr','export','4289810exubot','8215848FRLQYw','2676LnrhLZ','214394PSOPKP'];a31_0x1c94=function(){return _0x1234ae;};return a31_0x1c94();}
@@ -1 +1 @@
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
+ (function(_0x4d337b,_0x45d555){const _0x190b8a=a32_0x4507,_0x1f735e=_0x4d337b();while(!![]){try{const _0x389804=parseInt(_0x190b8a(0x154))/0x1+-parseInt(_0x190b8a(0x155))/0x2+parseInt(_0x190b8a(0x128))/0x3+-parseInt(_0x190b8a(0x12e))/0x4*(-parseInt(_0x190b8a(0x15c))/0x5)+-parseInt(_0x190b8a(0x135))/0x6*(parseInt(_0x190b8a(0x168))/0x7)+-parseInt(_0x190b8a(0x142))/0x8+parseInt(_0x190b8a(0x11f))/0x9*(-parseInt(_0x190b8a(0x160))/0xa);if(_0x389804===_0x45d555)break;else _0x1f735e['push'](_0x1f735e['shift']());}catch(_0x577b7b){_0x1f735e['push'](_0x1f735e['shift']());}}}(a32_0x48e8,0x210b8));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(_0x405b8c,_0x250256){const _0x4b0613=a32_0x4507,_0x240106=listLocalServiceTrees();let _0x5e4d27;for(const _0x460577 of _0x240106){const _0x151af1=matchServiceTreeCommand(_0x460577,_0x405b8c);if(!_0x151af1)continue;(!_0x5e4d27||_0x151af1['command'][_0x4b0613(0x11c)][_0x4b0613(0x149)]>_0x5e4d27[_0x4b0613(0x147)]['fullPath']['length'])&&(_0x5e4d27={'tree':_0x460577,'command':_0x151af1[_0x4b0613(0x147)],'remainingArgs':_0x151af1['remainingArgs']});}if(!_0x5e4d27)return undefined;const _0x25c0ed={..._0x250256};return applyAppBinding(_0x5e4d27['tree'],_0x5e4d27[_0x4b0613(0x147)],_0x25c0ed),{'definition':buildDynamicCommandDefinition(_0x5e4d27[_0x4b0613(0x16f)],_0x5e4d27[_0x4b0613(0x147)]),'args':_0x5e4d27['remainingArgs'],'flags':_0x25c0ed,'tree':_0x5e4d27[_0x4b0613(0x16f)],'command':_0x5e4d27['command']};}function a32_0x48e8(){const _0x3e972f=['\x20\x20\x20\x20kind:\x20\x20\x20\x20','name','datasetCode','sqlCode','env','required','const','target','code','type','1230240BnLTRp','Use\x20`','flags','tableName','username','command','userName','length','\x20\x20\x20\x20sqlCode:\x20','params','default','description','commands','`\x20to\x20inspect\x20the\x20manifest.','join','bff','read','mapTo','168165kZVYxv','278268DYbYBn','datatable','Unsupported\x20service\x20target\x20kind:\x20','kind','cliName','\x20requires\x20target.scriptName.','\x20\x20\x20\x20scriptName:\x20','10whtRvI','data','filter','trim','3340cCEjIx','nickName','envName','fromEntries','source','scriptName','\x20\x20SERVICE\x20TREE\x20TARGET','cliPath','7WLEzFb','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','userId','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','ctx.','json','app','tree','slice','args','now','\x20\x20[','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','operator','push','boolean','bffId','employeeId','service','startsWith','string','number','\x20<command>\x20[flags]','fullPath','find','context.','5238BRsFMV','\x20->\x20','bffCode','Run\x20service\x20command\x20','Service\x20command\x20','risk','nickname','appcode','\x20service\x20detail\x20--service\x20','791796fcSmUu','map','appCode','\x20\x20\x20\x20datatable:\x20','some','Preview\x20dynamic\x20service\x20command:\x20','417704MAfUGE','\x20requires\x20target.sqlCode.','tenantCode','rawFlags','appBindings','\x20\x20MAP\x20TO','appRef','109770qxuKbS','\x20\x20\x20\x20datasetCode:\x20','validation'];a32_0x48e8=function(){return _0x3e972f;};return a32_0x48e8();}export function generateDynamicServiceHelp(_0x33837e){const _0x4d7d90=a32_0x4507,_0x2894f4=listLocalServiceTrees()['find'](_0x14eb2b=>_0x14eb2b[_0x4d7d90(0x117)][_0x4d7d90(0x140)]===_0x33837e);if(!_0x2894f4)return undefined;const _0x4bce0b=[CLI_BIN_NAME+'\x20'+_0x33837e+_0x4d7d90(0x11b),'',_0x2894f4[_0x4d7d90(0x117)][_0x4d7d90(0x139)]||_0x33837e,_0x2894f4[_0x4d7d90(0x117)]['description']?'\x20\x20'+_0x2894f4[_0x4d7d90(0x117)][_0x4d7d90(0x14d)]:'','','Commands:',..._0x2894f4[_0x4d7d90(0x14e)][_0x4d7d90(0x129)](_0x53a4bb=>{const _0x225671=_0x4d7d90,_0x27145b=_0x53a4bb[_0x225671(0x11c)][_0x225671(0x170)](0x1)[_0x225671(0x150)]('\x20'),_0x184e05=_0x53a4bb[_0x225671(0x124)]===_0x225671(0x152)?'':'\x20['+_0x53a4bb['risk']+']';return'\x20\x20'+_0x27145b['padEnd'](0x18)+'\x20'+(_0x53a4bb['description']||'')+_0x184e05;}),'',_0x4d7d90(0x143)+CLI_BIN_NAME+_0x4d7d90(0x127)+_0x33837e+_0x4d7d90(0x14f)][_0x4d7d90(0x15e)](Boolean);return _0x4bce0b[_0x4d7d90(0x150)]('\x0a');}function a32_0x4507(_0xe4437f,_0x2538c8){_0xe4437f=_0xe4437f-0x117;const _0x48e85b=a32_0x48e8();let _0x4507f=_0x48e85b[_0xe4437f];return _0x4507f;}export function listDynamicServiceEntries(){const _0x306d18=a32_0x4507;return listLocalServices()[_0x306d18(0x129)](_0x45317f=>{const _0x1f0335=_0x306d18,_0x48fb13=_0x45317f['normalizedManifest'];return{'service':_0x48fb13[_0x1f0335(0x117)][_0x1f0335(0x140)],'label':_0x48fb13[_0x1f0335(0x117)][_0x1f0335(0x139)]||_0x48fb13[_0x1f0335(0x117)][_0x1f0335(0x140)],'commands':_0x48fb13[_0x1f0335(0x14e)][_0x1f0335(0x129)](_0xcb0d25=>({'command':dynamicCommandName(_0xcb0d25),'description':_0xcb0d25[_0x1f0335(0x14d)]||_0x1f0335(0x122)+_0xcb0d25[_0x1f0335(0x167)],'tag':riskTag(_0xcb0d25['risk'])}))};});}export function getDynamicServiceEntry(_0x2422f8){const _0x41c7c6=a32_0x4507;return listDynamicServiceEntries()[_0x41c7c6(0x11d)](_0x15d6e0=>_0x15d6e0['service']===_0x2422f8);}export function listDynamicServiceDefinitions(_0x142fde){const _0x39a33e=a32_0x4507;return listLocalServiceTrees()[_0x39a33e(0x15e)](_0x420090=>!_0x142fde||_0x420090['service'][_0x39a33e(0x140)]===_0x142fde)['flatMap'](_0x4dcf6e=>_0x4dcf6e[_0x39a33e(0x14e)]['map'](_0x1839fd=>buildDynamicCommandDefinition(_0x4dcf6e,_0x1839fd)));}export function getDynamicServiceDefinitions(_0x288ee8){const _0x5b852a=a32_0x4507,_0x5e9fd9=listDynamicServiceDefinitions(_0x288ee8);return _0x5e9fd9[_0x5b852a(0x149)]>0x0?_0x5e9fd9:undefined;}export function findDynamicServiceDefinition(_0xb7300,_0x6a349a){const _0x4b8e54=a32_0x4507;return listDynamicServiceDefinitions(_0xb7300)[_0x4b8e54(0x11d)](_0x1cf02c=>_0x1cf02c[_0x4b8e54(0x147)]===_0x6a349a);}export function buildDynamicCommandDefinition(_0x497597,_0x2aa8e2){const _0x50ad74=a32_0x4507;return{'service':_0x497597['service']['code'],'command':dynamicCommandName(_0x2aa8e2),'description':_0x2aa8e2[_0x50ad74(0x14d)]||'Run\x20service\x20command\x20'+_0x2aa8e2[_0x50ad74(0x167)],'risk':_0x2aa8e2['risk'],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x2aa8e2[_0x50ad74(0x171)][_0x50ad74(0x129)](_0xe9635f=>({'name':_0xe9635f[_0x50ad74(0x139)],'description':_0xe9635f['description']||_0xe9635f[_0x50ad74(0x139)],'required':_0xe9635f[_0x50ad74(0x13d)]})),'flags':_0x2aa8e2[_0x50ad74(0x144)][_0x50ad74(0x129)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x2aa8e2),async 'dryRun'(_0x5110ab){const _0x3e03b6=_0x50ad74,_0x43844a=await compilePlan(_0x2aa8e2,_0x5110ab);return{'method':'SERVICE_TREE','url':_0x2aa8e2['cliPath'],'body':{'target':targetPreview(_0x43844a),'params':_0x43844a[_0x3e03b6(0x14b)]},'description':_0x3e03b6(0x12d)+_0x2aa8e2[_0x3e03b6(0x167)]};},async 'execute'(_0x1e4a9e){const _0x213b06=_0x50ad74,_0x5dac48=await compilePlan(_0x2aa8e2,_0x1e4a9e),_0x41c6e8=Date['now'](),_0x3327e7=await executePlan(_0x5dac48,_0x2aa8e2,_0x1e4a9e),_0x40b595=Date[_0x213b06(0x172)]()-_0x41c6e8;return{'ok':!![],'data':{'service':_0x497597['service'],'command':_0x2aa8e2[_0x213b06(0x167)],'target':targetPreview(_0x5dac48),'result':_0x3327e7,'elapsed':_0x40b595},'message':_0x213b06(0x123)+_0x2aa8e2['cliPath']+'\x20completed\x20in\x20'+_0x40b595+'ms'};}};}function dynamicCommandName(_0xd45369){const _0x3319ed=a32_0x4507;return _0xd45369[_0x3319ed(0x11c)]['slice'](0x1)['join']('\x20');}function riskTag(_0x2bc8b2){const _0x3a67d1=a32_0x4507;return _0x2bc8b2===_0x3a67d1(0x152)?'':_0x3a67d1(0x173)+_0x2bc8b2+']';}function flagToCommandFlag(_0xae1688){const _0x2d8c9=a32_0x4507;return{'name':_0xae1688[_0x2d8c9(0x159)],'type':_0xae1688[_0x2d8c9(0x141)]===_0x2d8c9(0x16d)?_0x2d8c9(0x119):_0xae1688['type'],'description':_0xae1688[_0x2d8c9(0x14d)]||_0xae1688[_0x2d8c9(0x139)],'required':_0xae1688[_0x2d8c9(0x13d)],'default':isPrimitiveFlagDefault(_0xae1688[_0x2d8c9(0x14c)])?_0xae1688[_0x2d8c9(0x14c)]:undefined,'enum':_0xae1688['enum']};}async function compilePlan(_0x4d7bd3,_0x5745a0){const _0x2edfc7=a32_0x4507;return compileServiceTreeCommand(_0x4d7bd3,{'flags':_0x5745a0[_0x2edfc7(0x131)],'args':_0x5745a0[_0x2edfc7(0x171)],'context':await buildServiceContext(_0x4d7bd3,_0x5745a0)});}async function buildServiceContext(_0x3a3e94,_0x2cb040){const _0x27ee69=a32_0x4507,_0xa75d96={'appCode':_0x2cb040[_0x27ee69(0x12a)],'env':_0x2cb040[_0x27ee69(0x162)],'envName':_0x2cb040['envName']};if(!usesRuntimeContext(_0x3a3e94))return _0xa75d96;const _0x1c3d4f=await getLoginUserInfo(),_0x16711f=pickFirst(_0x1c3d4f[_0x27ee69(0x16a)],_0x1c3d4f['id']);return{..._0xa75d96,'user':_0x1c3d4f,'userId':_0x16711f,'id':_0x1c3d4f['id'],'username':pickFirst(_0x1c3d4f[_0x27ee69(0x146)],_0x1c3d4f[_0x27ee69(0x148)],_0x1c3d4f['loginName']),'userName':_0x1c3d4f[_0x27ee69(0x148)],'nickname':pickFirst(_0x1c3d4f[_0x27ee69(0x125)],_0x1c3d4f['nickName']),'nickName':_0x1c3d4f[_0x27ee69(0x161)],'tenantCode':_0x1c3d4f[_0x27ee69(0x130)],'employeeId':_0x1c3d4f[_0x27ee69(0x179)]};}function usesRuntimeContext(_0x33f4d){const _0x497152=a32_0x4507;return _0x33f4d['mapTo'][_0x497152(0x12c)](_0x340d9c=>typeof _0x340d9c[_0x497152(0x164)]===_0x497152(0x119)&&(_0x340d9c[_0x497152(0x164)]['startsWith'](_0x497152(0x11e))||_0x340d9c[_0x497152(0x164)][_0x497152(0x118)](_0x497152(0x16c))));}function pickFirst(..._0x5dc99a){const _0x15fc9e=a32_0x4507;return _0x5dc99a[_0x15fc9e(0x11d)](_0x4d7c2d=>_0x4d7c2d!==undefined&&_0x4d7c2d!==null);}async function executePlan(_0x38d0c4,_0x3b2512,_0x18792a){const _0x3fffc1=a32_0x4507;if(_0x38d0c4['kind']===_0x3fffc1(0x15d)){const _0x227e8b=await resolveDatasetCode(_0x38d0c4,_0x3b2512,_0x18792a);return executeData(_0x227e8b,_0x38d0c4[_0x3fffc1(0x147)],_0x38d0c4[_0x3fffc1(0x14b)]);}if(_0x38d0c4[_0x3fffc1(0x158)]==='sql'){if(!_0x38d0c4[_0x3fffc1(0x13b)])throw CliErrors['validation'](_0x3fffc1(0x123)+_0x3b2512['cliPath']+_0x3fffc1(0x12f));return executeSdkSql(_0x38d0c4['sqlCode'],normalizeScalarParams(_0x38d0c4[_0x3fffc1(0x14b)]));}if(_0x38d0c4[_0x3fffc1(0x158)]===_0x3fffc1(0x151)){const _0x2d8716=_0x38d0c4['scriptName']||_0x38d0c4[_0x3fffc1(0x121)]||(_0x38d0c4['bffId']==null?'':String(_0x38d0c4[_0x3fffc1(0x178)]));if(!_0x2d8716)throw CliErrors['validation'](_0x3fffc1(0x123)+_0x3b2512[_0x3fffc1(0x167)]+_0x3fffc1(0x15a));return executeSdkBff(_0x2d8716,_0x38d0c4[_0x3fffc1(0x14b)]);}throw CliErrors[_0x3fffc1(0x137)](_0x3fffc1(0x157)+_0x38d0c4[_0x3fffc1(0x158)]);}async function resolveDatasetCode(_0x148644,_0x142f3f,_0xae7baf){const _0x52234c=a32_0x4507;if(_0x148644[_0x52234c(0x13a)])return _0x148644[_0x52234c(0x13a)];if(!_0x148644[_0x52234c(0x156)])throw CliErrors['validation'](_0x52234c(0x123)+_0x142f3f[_0x52234c(0x167)]+_0x52234c(0x16b));const _0x308e80=await listDatasets(_0xae7baf[_0x52234c(0x12a)]),_0x197bf7=_0x308e80['find'](_0x1f7aec=>_0x1f7aec['dbtableConfig']?.[_0x52234c(0x145)]===_0x148644['datatable']);if(!_0x197bf7?.['code'])throw CliErrors[_0x52234c(0x137)]('Cannot\x20resolve\x20datatable\x20\x22'+_0x148644['datatable']+'\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20'+_0xae7baf[_0x52234c(0x12a)]+'.',_0x52234c(0x169));return _0x197bf7['code'];}function applyAppBinding(_0x1fa822,_0x3f2cce,_0x1b867d){const _0x47185a=a32_0x4507,_0x460505=_0x3f2cce[_0x47185a(0x13f)][_0x47185a(0x134)];if(!_0x460505)return;const _0x42e12c=_0x1fa822[_0x47185a(0x132)][_0x460505];if(!_0x42e12c)throw CliErrors[_0x47185a(0x137)]('Unknown\x20appRef\x20\x22'+_0x460505+'\x22\x20in\x20service\x20command\x20'+_0x3f2cce[_0x47185a(0x167)]+'.',_0x47185a(0x174));const _0x5da647=_0x42e12c[_0x47185a(0x126)]||_0x42e12c[_0x47185a(0x12a)];_0x5da647&&!hasText(_0x1b867d['appcode'])&&(_0x1b867d[_0x47185a(0x126)]=_0x5da647),_0x42e12c[_0x47185a(0x16e)]&&!hasText(_0x1b867d['app'])&&!hasText(_0x1b867d['appcode'])&&(_0x1b867d['app']=_0x42e12c['app']),_0x42e12c[_0x47185a(0x13c)]&&!hasText(_0x1b867d[_0x47185a(0x13c)])&&(_0x1b867d[_0x47185a(0x13c)]=_0x42e12c[_0x47185a(0x13c)]);}function renderDynamicCommandHelp(_0x83b02a){const _0x5d1e43=a32_0x4507,_0x373b22=[_0x5d1e43(0x166),_0x5d1e43(0x138)+_0x83b02a[_0x5d1e43(0x13f)][_0x5d1e43(0x158)],'\x20\x20\x20\x20command:\x20'+_0x83b02a['target'][_0x5d1e43(0x147)]];if(_0x83b02a['target'][_0x5d1e43(0x13a)])_0x373b22[_0x5d1e43(0x176)](_0x5d1e43(0x136)+_0x83b02a[_0x5d1e43(0x13f)]['datasetCode']);if(_0x83b02a['target'][_0x5d1e43(0x156)])_0x373b22[_0x5d1e43(0x176)](_0x5d1e43(0x12b)+_0x83b02a[_0x5d1e43(0x13f)]['datatable']);if(_0x83b02a[_0x5d1e43(0x13f)]['sqlCode'])_0x373b22[_0x5d1e43(0x176)](_0x5d1e43(0x14a)+_0x83b02a['target'][_0x5d1e43(0x13b)]);if(_0x83b02a[_0x5d1e43(0x13f)]['scriptName'])_0x373b22[_0x5d1e43(0x176)](_0x5d1e43(0x15b)+_0x83b02a['target'][_0x5d1e43(0x165)]);if(_0x83b02a[_0x5d1e43(0x153)]['length']>0x0){_0x373b22[_0x5d1e43(0x176)]('',_0x5d1e43(0x133));for(const _0x382f86 of _0x83b02a['mapTo']){_0x373b22[_0x5d1e43(0x176)]('\x20\x20\x20\x20'+(_0x382f86[_0x5d1e43(0x164)]||_0x5d1e43(0x13e))+_0x5d1e43(0x120)+_0x382f86[_0x5d1e43(0x13f)]+(_0x382f86['operator']?'.'+_0x382f86[_0x5d1e43(0x175)]:''));}}return _0x373b22[_0x5d1e43(0x150)]('\x0a');}function targetPreview(_0x2749ef){const _0x68e862=a32_0x4507;return{'kind':_0x2749ef[_0x68e862(0x158)],'command':_0x2749ef['command'],'appRef':_0x2749ef[_0x68e862(0x134)],'datasetCode':_0x2749ef[_0x68e862(0x13a)],'datatable':_0x2749ef[_0x68e862(0x156)],'sqlCode':_0x2749ef[_0x68e862(0x13b)],'bffCode':_0x2749ef[_0x68e862(0x121)],'bffId':_0x2749ef[_0x68e862(0x178)],'scriptName':_0x2749ef[_0x68e862(0x165)]};}function normalizeScalarParams(_0x1e7f3c){const _0x5dbac7=a32_0x4507;return Object[_0x5dbac7(0x163)](Object['entries'](_0x1e7f3c)[_0x5dbac7(0x15e)](([,_0xd1107a])=>typeof _0xd1107a===_0x5dbac7(0x119)||typeof _0xd1107a===_0x5dbac7(0x11a)));}function hasText(_0x319e6f){const _0x4fdd88=a32_0x4507;return typeof _0x319e6f===_0x4fdd88(0x119)&&_0x319e6f[_0x4fdd88(0x15f)]()[_0x4fdd88(0x149)]>0x0;}function isPrimitiveFlagDefault(_0x182110){const _0x1eab71=a32_0x4507;return _0x182110===undefined||typeof _0x182110===_0x1eab71(0x119)||typeof _0x182110==='number'||typeof _0x182110===_0x1eab71(0x177);}
@@ -1 +1 @@
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
+ const a33_0x1d4e3b=a33_0x42e4;(function(_0x45d26f,_0x143210){const _0x28c800=a33_0x42e4,_0x29de48=_0x45d26f();while(!![]){try{const _0x2d3b96=parseInt(_0x28c800(0x1eb))/0x1+-parseInt(_0x28c800(0x215))/0x2*(parseInt(_0x28c800(0x1f5))/0x3)+parseInt(_0x28c800(0x1de))/0x4+parseInt(_0x28c800(0x220))/0x5*(parseInt(_0x28c800(0x20d))/0x6)+parseInt(_0x28c800(0x1e8))/0x7+parseInt(_0x28c800(0x209))/0x8+parseInt(_0x28c800(0x212))/0x9*(-parseInt(_0x28c800(0x1e7))/0xa);if(_0x2d3b96===_0x143210)break;else _0x29de48['push'](_0x29de48['shift']());}catch(_0x115e02){_0x29de48['push'](_0x29de48['shift']());}}}(a33_0x36ff,0xca5ce));import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';function a33_0x42e4(_0x22ddb1,_0x4956fe){_0x22ddb1=_0x22ddb1-0x1d6;const _0x36ff5=a33_0x36ff();let _0x42e436=_0x36ff5[_0x22ddb1];return _0x42e436;}const FILE_FLAG={'name':a33_0x1d4e3b(0x1ef),'type':a33_0x1d4e3b(0x1ff),'required':!![],'description':a33_0x1d4e3b(0x1f7)},SERVICE_FLAG={'name':'service','type':a33_0x1d4e3b(0x1ff),'required':!![],'description':a33_0x1d4e3b(0x1fe),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a33_0x1d4e3b(0x203)}};function a33_0x36ff(){const _0x5775ea=['6803870keEZHD','10798060hPKwkm','Imported\x20','Local\x20service\x20not\x20found:\x20','1149655XQoeOe','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','service','Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','file','replaced','cliPath','registryServiceCode','Service\x20manifest\x20validation\x20passed.','validate','114xZSYhu','hash','Service\x20Tree\x20manifest\x20file\x20path','registryPath','description','report','normalizedManifest','entry','Removed\x20service\x20','Local\x20service\x20code,\x20for\x20example\x20crm','string','import','serviceCode','Updated','lower\x20kebab-case\x20service\x20code','errors','serviceCount','str','detail','Imported','9167240CAWldB','cliName','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','importedAt','416652TvmAMe','read','entries','target','manifests','45wZkzpL','WRITE','source','3642mGSULc','Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','manifest','remove','Exported\x20service\x20','length','name','warnings','version','map','filePath','30MlRZzg','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','\x20service(s).','export','type','\x20service\x20','kind','reduce','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','registryIndex','180876plbpeV','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','commands','registry','required','updated','imported','risk','write'];a33_0x36ff=function(){return _0x5775ea;};return a33_0x36ff();}function summarizeService(_0x29bfe1){const _0x1356bd=a33_0x1d4e3b;return{'serviceCode':_0x29bfe1[_0x1356bd(0x201)],'name':_0x29bfe1[_0x1356bd(0x1fb)][_0x1356bd(0x1ed)][_0x1356bd(0x21b)],'version':_0x29bfe1[_0x1356bd(0x21d)],'importedAt':_0x29bfe1[_0x1356bd(0x20c)],'source':_0x29bfe1[_0x1356bd(0x214)],'commandCount':_0x29bfe1['normalizedManifest']['commands'][_0x1356bd(0x21a)],'commands':_0x29bfe1[_0x1356bd(0x1fb)]['commands']['map'](_0x2d0508=>({'path':_0x2d0508[_0x1356bd(0x1f1)],'description':_0x2d0508[_0x1356bd(0x1f9)],'risk':_0x2d0508[_0x1356bd(0x1e5)],'target':_0x2d0508[_0x1356bd(0x210)],'flags':_0x2d0508['flags'][_0x1356bd(0x21e)](_0x5abedd=>({'name':_0x5abedd[_0x1356bd(0x21b)],'cliName':_0x5abedd[_0x1356bd(0x20a)],'type':_0x5abedd[_0x1356bd(0x1d8)],'required':_0x5abedd[_0x1356bd(0x1e2)]===!![]}))}))};}function summarizeLoadedManifest(_0x5a64b4){const _0x11f2c1=a33_0x1d4e3b;return{'service':_0x5a64b4[_0x11f2c1(0x1fb)]?.['service'],'version':_0x5a64b4['normalizedManifest']?.[_0x11f2c1(0x21d)],'commandCount':_0x5a64b4['normalizedManifest']?.[_0x11f2c1(0x1e0)]['length']??0x0,'commands':_0x5a64b4['normalizedManifest']?.[_0x11f2c1(0x1e0)][_0x11f2c1(0x21e)](_0x3f0ba0=>({'path':_0x3f0ba0[_0x11f2c1(0x1f1)],'risk':_0x3f0ba0['risk'],'target':_0x3f0ba0[_0x11f2c1(0x210)]}))??[],'registryIndex':_0x5a64b4[_0x11f2c1(0x1dd)],'registryServiceCode':_0x5a64b4[_0x11f2c1(0x1f2)],'errors':_0x5a64b4[_0x11f2c1(0x1fa)][_0x11f2c1(0x204)],'warnings':_0x5a64b4[_0x11f2c1(0x1fa)][_0x11f2c1(0x21c)]};}export const serviceDefinitions=[{'service':'service','command':a33_0x1d4e3b(0x1f4),'description':'Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','risk':a33_0x1d4e3b(0x20e),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x4d57c2){const _0x144dff=a33_0x1d4e3b,_0x2fbfc4=loadServiceManifestFromFile(_0x4d57c2[_0x144dff(0x206)]('file'));if(!_0x2fbfc4[_0x144dff(0x1fa)]['ok'])return{'ok':![],'data':{'file':_0x2fbfc4[_0x144dff(0x21f)],'hash':_0x2fbfc4[_0x144dff(0x1f6)],'kind':_0x2fbfc4[_0x144dff(0x1da)],'serviceCount':_0x2fbfc4[_0x144dff(0x211)][_0x144dff(0x21a)],'services':_0x2fbfc4['manifests'][_0x144dff(0x21e)](summarizeLoadedManifest),'errors':_0x2fbfc4['report'][_0x144dff(0x204)],'warnings':_0x2fbfc4[_0x144dff(0x1fa)]['warnings']},'message':formatValidationFailure(_0x2fbfc4['report'])};if(_0x2fbfc4[_0x144dff(0x1da)]===_0x144dff(0x1e1)||_0x2fbfc4[_0x144dff(0x211)][_0x144dff(0x21a)]!==0x1)return{'ok':!![],'data':{'file':_0x2fbfc4[_0x144dff(0x21f)],'hash':_0x2fbfc4['hash'],'kind':_0x2fbfc4[_0x144dff(0x1da)],'serviceCount':_0x2fbfc4['manifests']['length'],'commandCount':_0x2fbfc4[_0x144dff(0x211)][_0x144dff(0x1db)]((_0x1c4303,_0x572641)=>_0x1c4303+(_0x572641[_0x144dff(0x1fb)]?.[_0x144dff(0x1e0)][_0x144dff(0x21a)]??0x0),0x0),'services':_0x2fbfc4['manifests'][_0x144dff(0x21e)](summarizeLoadedManifest),'warnings':_0x2fbfc4[_0x144dff(0x1fa)][_0x144dff(0x21c)]},'message':'Service\x20registry\x20validation\x20passed.'};return{'ok':!![],'data':{'file':_0x2fbfc4[_0x144dff(0x21f)],'hash':_0x2fbfc4[_0x144dff(0x1f6)],'kind':_0x2fbfc4['kind'],'service':_0x2fbfc4[_0x144dff(0x1fb)]?.[_0x144dff(0x1ed)],'version':_0x2fbfc4[_0x144dff(0x1fb)]?.[_0x144dff(0x21d)],'commandCount':_0x2fbfc4[_0x144dff(0x1fb)]?.[_0x144dff(0x1e0)]['length']??0x0,'commands':_0x2fbfc4['normalizedManifest']?.[_0x144dff(0x1e0)][_0x144dff(0x21e)](_0x37a3b7=>({'path':_0x37a3b7[_0x144dff(0x1f1)],'risk':_0x37a3b7[_0x144dff(0x1e5)],'target':_0x37a3b7[_0x144dff(0x210)]})),'warnings':_0x2fbfc4[_0x144dff(0x1fa)][_0x144dff(0x21c)]},'message':_0x144dff(0x1f3)};}},{'service':a33_0x1d4e3b(0x1ed),'command':a33_0x1d4e3b(0x200),'description':a33_0x1d4e3b(0x1dc),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0xbbb4d9){const _0x252537=a33_0x1d4e3b,_0x2683cd=loadServiceManifestFromFile(_0xbbb4d9[_0x252537(0x206)](_0x252537(0x1ef)));return{'method':'WRITE','url':getServiceRegistryPath(),'body':{'file':_0x2683cd['filePath'],'hash':_0x2683cd[_0x252537(0x1f6)],'kind':_0x2683cd[_0x252537(0x1da)],'ok':_0x2683cd['report']['ok'],'service':_0x2683cd[_0x252537(0x1fb)]?.[_0x252537(0x1ed)],'version':_0x2683cd[_0x252537(0x1fb)]?.['version'],'serviceCount':_0x2683cd['manifests'][_0x252537(0x21a)],'services':_0x2683cd['manifests']['map'](_0x4e0054=>({'service':_0x4e0054[_0x252537(0x1fb)]?.[_0x252537(0x1ed)],'version':_0x4e0054['normalizedManifest']?.[_0x252537(0x21d)],'commandCount':_0x4e0054[_0x252537(0x1fb)]?.['commands']['length']??0x0,'errors':_0x4e0054[_0x252537(0x1fa)][_0x252537(0x204)]})),'errors':_0x2683cd[_0x252537(0x1fa)][_0x252537(0x204)],'commandCount':_0x2683cd['normalizedManifest']?.[_0x252537(0x1e0)][_0x252537(0x21a)]??0x0},'description':_0x252537(0x20b)};},async 'execute'(_0x201307){const _0x33ace4=a33_0x1d4e3b,_0x1f766b=importServiceManifest(_0x201307['str'](_0x33ace4(0x1ef)));if(_0x1f766b[_0x33ace4(0x20f)][_0x33ace4(0x21a)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x1f766b[_0x33ace4(0x1f8)],'imported':_0x1f766b[_0x33ace4(0x1e4)],'updated':_0x1f766b[_0x33ace4(0x1e3)],'serviceCount':_0x1f766b['serviceCount'],'services':_0x1f766b[_0x33ace4(0x20f)][_0x33ace4(0x21e)](summarizeService)},'message':_0x33ace4(0x1e9)+_0x1f766b[_0x33ace4(0x1e4)]+'\x20service(s),\x20updated\x20'+_0x1f766b[_0x33ace4(0x1e3)]+_0x33ace4(0x1d6)};return{'ok':!![],'data':{'registryPath':_0x1f766b[_0x33ace4(0x1f8)],'replaced':_0x1f766b[_0x33ace4(0x1f0)],'imported':_0x1f766b[_0x33ace4(0x1e4)],'updated':_0x1f766b[_0x33ace4(0x1e3)],'serviceCount':_0x1f766b[_0x33ace4(0x205)],'service':summarizeService(_0x1f766b[_0x33ace4(0x1fc)])},'message':(_0x1f766b[_0x33ace4(0x1f0)]?_0x33ace4(0x202):_0x33ace4(0x208))+_0x33ace4(0x1d9)+_0x1f766b[_0x33ace4(0x1fc)][_0x33ace4(0x201)]+'.'};}},{'service':a33_0x1d4e3b(0x1ed),'command':a33_0x1d4e3b(0x1d7),'description':a33_0x1d4e3b(0x1ee),'risk':a33_0x1d4e3b(0x1e6),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x4ac9ce){const _0x17e193=a33_0x1d4e3b,_0x4da149=getLocalServiceEntry(_0x4ac9ce[_0x17e193(0x206)]('service'));return{'method':'WRITE','url':_0x4ac9ce['str'](_0x17e193(0x1ef)),'body':{'service':_0x4ac9ce[_0x17e193(0x206)](_0x17e193(0x1ed)),'found':Boolean(_0x4da149),'version':_0x4da149?.['version'],'source':_0x4da149?.[_0x17e193(0x214)]},'description':_0x17e193(0x221)};},async 'execute'(_0x51bff5){const _0x5ec32=a33_0x1d4e3b,_0x187f3d=exportServiceManifest(_0x51bff5[_0x5ec32(0x206)](_0x5ec32(0x1ed)),_0x51bff5[_0x5ec32(0x206)](_0x5ec32(0x1ef)));return{'ok':!![],'data':{'registryPath':_0x187f3d[_0x5ec32(0x1f8)],'file':_0x187f3d['filePath'],'service':summarizeService(_0x187f3d[_0x5ec32(0x1fc)])},'message':_0x5ec32(0x219)+_0x187f3d[_0x5ec32(0x1fc)][_0x5ec32(0x201)]+'.'};}},{'service':a33_0x1d4e3b(0x1ed),'command':'list','description':a33_0x1d4e3b(0x1ec),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x272a58=a33_0x1d4e3b,_0x16af32=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x16af32[_0x272a58(0x21a)],'services':_0x16af32['map'](summarizeService)}};}},{'service':a33_0x1d4e3b(0x1ed),'command':a33_0x1d4e3b(0x218),'description':a33_0x1d4e3b(0x216),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x2739a8){const _0x52d3b1=a33_0x1d4e3b,_0x4ec763=getLocalServiceEntry(_0x2739a8[_0x52d3b1(0x206)](_0x52d3b1(0x1ed)));return{'method':_0x52d3b1(0x213),'url':getServiceRegistryPath(),'body':{'service':_0x2739a8['str'](_0x52d3b1(0x1ed)),'found':Boolean(_0x4ec763),'version':_0x4ec763?.[_0x52d3b1(0x21d)],'source':_0x4ec763?.['source']},'description':_0x52d3b1(0x1df)};},async 'execute'(_0x4abd16){const _0x1f99e8=a33_0x1d4e3b,_0x1f3d2d=removeServiceManifest(_0x4abd16[_0x1f99e8(0x206)](_0x1f99e8(0x1ed)));return{'ok':!![],'data':{'registryPath':_0x1f3d2d[_0x1f99e8(0x1f8)],'serviceCount':_0x1f3d2d[_0x1f99e8(0x205)],'service':summarizeService(_0x1f3d2d['entry'])},'message':_0x1f99e8(0x1fd)+_0x1f3d2d[_0x1f99e8(0x1fc)][_0x1f99e8(0x201)]+'.'};}},{'service':a33_0x1d4e3b(0x1ed),'command':a33_0x1d4e3b(0x207),'description':'Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x15a324){const _0x2b6f9d=a33_0x1d4e3b,_0x2501e2=getLocalServiceEntry(_0x15a324[_0x2b6f9d(0x206)](_0x2b6f9d(0x1ed)));if(!_0x2501e2)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x15a324[_0x2b6f9d(0x206)](_0x2b6f9d(0x1ed))},'message':_0x2b6f9d(0x1ea)+_0x15a324[_0x2b6f9d(0x206)](_0x2b6f9d(0x1ed))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x2501e2),'manifest':_0x2501e2[_0x2b6f9d(0x217)],'normalizedManifest':_0x2501e2[_0x2b6f9d(0x1fb)]}};}}];
@@ -1 +1 @@
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));}
1
+ function a34_0x210b(){const _0x3e301e=['homeDirName','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','$.services[','123dEhwxL','manifest','CliError','push','risk','Invalid\x20service\x20manifest\x20JSON:\x20','services\x20must\x20be\x20an\x20array','missing','find','registryIndex','slice','path','Cannot\x20write\x20service\x20registry:\x20','splice','sha256','Service\x20manifest\x20file\x20not\x20found:\x20','Unsupported\x20schemaVersion:\x20','update','normalizedManifest','Remove\x20or\x20migrate\x20','importedAt','name','].manifest.','utf8','filePath','ENOENT','Unsupported\x20service\x20registry\x20schemaVersion:\x20','warnings','message','schemaVersion','3267522vWzotk','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','join','trim','623321ckyhxr','6095592reFgBt','1925231viTSmL','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','].manifest','errors','findIndex','service','.tmp','now','serviceCode','toISOString','updatedAt','report','reduce','1907192CpiApe','flatMap','isArray','18ZBosgm','file','sourceHash','Invalid\x20service\x20registry\x20JSON:\x20','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','map','invalid','1414025sXuxRl','commandCount','startsWith','validation','target','version','services','cliPath','description','registry','Local\x20service\x20not\x20found:\x20','23526nKLeZq','length','service.json','parse','code','stringify','string'];a34_0x210b=function(){return _0x3e301e;};return a34_0x210b();}const a34_0x5818dc=a34_0x2c03;(function(_0x5ef184,_0x5a93ff){const _0x556626=a34_0x2c03,_0xe18a5f=_0x5ef184();while(!![]){try{const _0x440354=-parseInt(_0x556626(0x226))/0x1+parseInt(_0x556626(0x1fa))/0x2*(-parseInt(_0x556626(0x204))/0x3)+parseInt(_0x556626(0x235))/0x4+-parseInt(_0x556626(0x1ef))/0x5+-parseInt(_0x556626(0x222))/0x6+parseInt(_0x556626(0x228))/0x7+parseInt(_0x556626(0x227))/0x8*(parseInt(_0x556626(0x238))/0x9);if(_0x440354===_0x5a93ff)break;else _0xe18a5f['push'](_0xe18a5f['shift']());}catch(_0x1d6e7b){_0xe18a5f['push'](_0xe18a5f['shift']());}}}(a34_0x210b,0x53acd));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{dirname,resolve}from'node:path';import{normalizeServiceTreeManifest,validateServiceTreeManifest}from'@lovrabet/cli-framework';import{PRODUCT_CONFIG}from'../../constant/product.js';import{CliErrors}from'../../errors.js';export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;export const SERVICE_REGISTRY_FILE_NAME=a34_0x5818dc(0x1fc);export function getServiceRegistryPath(_0x37b6f3={}){const _0x3a16bd=a34_0x5818dc;return resolve(_0x37b6f3['homeDir']??homedir(),PRODUCT_CONFIG[_0x3a16bd(0x201)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x28cfc4={}){const _0x4213b2=a34_0x5818dc,_0x467a9f=getServiceRegistryPath(_0x28cfc4);if(!existsSync(_0x467a9f))return emptyServiceRegistry();try{const _0x1b3641=readFileSync(_0x467a9f,'utf8');if(!_0x1b3641[_0x4213b2(0x225)]())return emptyServiceRegistry();const _0x5e2a2e=JSON[_0x4213b2(0x1fd)](_0x1b3641);if(_0x5e2a2e[_0x4213b2(0x221)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors['validation'](_0x4213b2(0x21e)+String(_0x5e2a2e[_0x4213b2(0x221)]),_0x4213b2(0x217)+_0x467a9f+'.');if(!Array[_0x4213b2(0x237)](_0x5e2a2e[_0x4213b2(0x1f5)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x5e2a2e['updatedAt'],'services':_0x5e2a2e[_0x4213b2(0x1f5)]};}catch(_0x4cd6e8){if(_0x4cd6e8 instanceof Error&&_0x4cd6e8[_0x4213b2(0x219)]===_0x4213b2(0x206))throw _0x4cd6e8;throw CliErrors[_0x4213b2(0x1f2)](_0x4213b2(0x1eb)+_0x467a9f,'Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.');}}export function writeServiceRegistry(_0x433a35,_0x2fac76={}){const _0xd2d8c=a34_0x5818dc,_0x2b9d67=getServiceRegistryPath(_0x2fac76),_0x322ec0=dirname(_0x2b9d67);!existsSync(_0x322ec0)&&mkdirSync(_0x322ec0,{'recursive':!![]});const _0x250d2c=_0x2b9d67+_0xd2d8c(0x22e);try{writeFileSync(_0x250d2c,JSON[_0xd2d8c(0x1ff)](_0x433a35,null,0x2)+'\x0a',{'encoding':_0xd2d8c(0x21b),'mode':0x180}),renameSync(_0x250d2c,_0x2b9d67);}catch(_0x71a76a){try{unlinkSync(_0x250d2c);}catch{}if(_0x71a76a?.[_0xd2d8c(0x1fe)]===_0xd2d8c(0x21d))throw CliErrors['validation'](_0xd2d8c(0x210)+_0x2b9d67);throw _0x71a76a;}return _0x2b9d67;}export function loadServiceManifestFromFile(_0x581ca4){const _0x9923de=a34_0x5818dc,_0x420aad=resolve(_0x581ca4);if(!existsSync(_0x420aad))throw CliErrors[_0x9923de(0x1f2)](_0x9923de(0x213)+_0x581ca4);let _0x512291;const _0x5b450e=readFileSync(_0x420aad,_0x9923de(0x21b));try{_0x512291=JSON[_0x9923de(0x1fd)](_0x5b450e);}catch{throw CliErrors[_0x9923de(0x1f2)](_0x9923de(0x209)+_0x581ca4,'Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.');}const _0x4c0e39=sha256(_0x5b450e),_0x14ac62=extractLoadedServiceManifests(_0x512291,_0x4c0e39),_0x4631db=aggregateValidationReports(_0x14ac62),_0x30be89=_0x14ac62[0x0];return{'filePath':_0x420aad,'hash':_0x4c0e39,'kind':isServiceRegistryLike(_0x512291)?_0x9923de(0x1f8):_0x9923de(0x205),'manifest':_0x30be89?.[_0x9923de(0x205)]??_0x512291,'report':_0x4631db,'normalizedManifest':_0x14ac62[_0x9923de(0x1fb)]===0x1?_0x30be89?.['normalizedManifest']:undefined,'manifests':_0x14ac62};}export function importServiceManifest(_0x1adba1,_0x48a210={}){const _0x53914b=a34_0x5818dc,_0x5f12e5=loadServiceManifestFromFile(_0x1adba1);if(!_0x5f12e5[_0x53914b(0x233)]['ok'])throw CliErrors[_0x53914b(0x1f2)](formatValidationFailure(_0x5f12e5['report']),_0x53914b(0x229));if(_0x5f12e5['manifests'][_0x53914b(0x1fb)]===0x0)throw CliErrors['validation'](_0x53914b(0x202),_0x53914b(0x223));const _0x4da2c2=readServiceRegistry(_0x48a210),_0x2efc46=(_0x48a210[_0x53914b(0x22f)]??(()=>new Date()))()['toISOString'](),_0x1d0382=[];let _0xe5caba=0x0,_0x2c4fa7=0x0;for(const _0x2c09d7 of _0x5f12e5['manifests']){if(!_0x2c09d7[_0x53914b(0x216)])continue;const _0x536758=_0x2c09d7['normalizedManifest'][_0x53914b(0x22d)][_0x53914b(0x1fe)],_0x5542b2={'serviceCode':_0x536758,'version':_0x2c09d7[_0x53914b(0x216)][_0x53914b(0x1f4)],'importedAt':_0x2efc46,'source':{'type':_0x53914b(0x1e9),'path':_0x5f12e5[_0x53914b(0x21c)],'hash':_0x2c09d7[_0x53914b(0x1ea)]},'manifest':_0x2c09d7[_0x53914b(0x205)],'normalizedManifest':_0x2c09d7[_0x53914b(0x216)]},_0x859b=_0x4da2c2[_0x53914b(0x1f5)][_0x53914b(0x22c)](_0x23b1c5=>_0x23b1c5[_0x53914b(0x230)]===_0x536758);_0x859b>=0x0?(_0x4da2c2[_0x53914b(0x1f5)][_0x859b]=_0x5542b2,_0x2c4fa7++):(_0x4da2c2[_0x53914b(0x1f5)]['push'](_0x5542b2),_0xe5caba++),_0x1d0382[_0x53914b(0x207)](_0x5542b2);}_0x4da2c2[_0x53914b(0x1f5)]['sort']((_0x4ac348,_0x52e1e2)=>_0x4ac348[_0x53914b(0x230)]['localeCompare'](_0x52e1e2['serviceCode'])),_0x4da2c2[_0x53914b(0x232)]=_0x2efc46;const _0xe326c7=writeServiceRegistry(_0x4da2c2,_0x48a210);return{'registryPath':_0xe326c7,'entry':_0x1d0382[0x0],'replaced':_0x1d0382[_0x53914b(0x1fb)]===0x1?_0x2c4fa7===0x1:_0x2c4fa7>0x0,'entries':_0x1d0382,'imported':_0xe5caba,'updated':_0x2c4fa7,'serviceCount':_0x4da2c2[_0x53914b(0x1f5)]['length']};}export function exportServiceManifest(_0x3d4ffd,_0x2e5b41,_0x1cc2a1={}){const _0x2e5318=a34_0x5818dc,_0x24ca48=getServiceRegistryPath(_0x1cc2a1),_0x3444f9=getLocalServiceEntry(_0x3d4ffd,_0x1cc2a1);if(!_0x3444f9)throw CliErrors[_0x2e5318(0x1f2)](_0x2e5318(0x1f9)+_0x3d4ffd,_0x2e5318(0x1ec));const _0x2da5c3=resolve(_0x2e5b41),_0x5b6e2f=dirname(_0x2da5c3);return!existsSync(_0x5b6e2f)&&mkdirSync(_0x5b6e2f,{'recursive':!![]}),writeFileSync(_0x2da5c3,JSON['stringify'](_0x3444f9['manifest'],null,0x2)+'\x0a',{'encoding':'utf8','mode':0x180}),{'registryPath':_0x24ca48,'filePath':_0x2da5c3,'entry':_0x3444f9};}export function removeServiceManifest(_0xe0f7dc,_0x5d5d51={}){const _0x55ebf4=a34_0x5818dc,_0x156323=readServiceRegistry(_0x5d5d51),_0xf50e05=_0xe0f7dc[_0x55ebf4(0x225)](),_0x264442=_0x156323[_0x55ebf4(0x1f5)][_0x55ebf4(0x22c)](_0x15386e=>_0x15386e[_0x55ebf4(0x230)]===_0xf50e05);if(_0x264442<0x0)throw CliErrors['validation']('Local\x20service\x20not\x20found:\x20'+_0xf50e05,_0x55ebf4(0x1ec));const [_0x238eec]=_0x156323['services'][_0x55ebf4(0x211)](_0x264442,0x1),_0x3e0384=(_0x5d5d51[_0x55ebf4(0x22f)]??(()=>new Date()))()[_0x55ebf4(0x231)]();_0x156323[_0x55ebf4(0x232)]=_0x3e0384;const _0x52371e=writeServiceRegistry(_0x156323,_0x5d5d51);return{'registryPath':_0x52371e,'entry':_0x238eec,'serviceCount':_0x156323[_0x55ebf4(0x1f5)]['length']};}export function listLocalServices(_0x5534b6={}){const _0x26e7e9=a34_0x5818dc;return readServiceRegistry(_0x5534b6)[_0x26e7e9(0x1f5)];}export function getLocalServiceEntry(_0x3f141d,_0xb7876e={}){const _0x151125=a34_0x5818dc;return readServiceRegistry(_0xb7876e)['services'][_0x151125(0x20c)](_0x5d41ad=>_0x5d41ad[_0x151125(0x230)]===_0x3f141d['trim']());}export function listLocalServiceTrees(_0x36bd5f={}){const _0x3084cd=a34_0x5818dc;return readServiceRegistry(_0x36bd5f)[_0x3084cd(0x1f5)][_0x3084cd(0x1ed)](_0x1ca1d7=>_0x1ca1d7[_0x3084cd(0x216)]);}export function inspectServiceRegistry(_0x5731ce={}){const _0x173eee=a34_0x5818dc,_0x43dfbe=getServiceRegistryPath(_0x5731ce);if(!existsSync(_0x43dfbe))return emptyServiceRegistryInspection(_0x43dfbe,_0x173eee(0x20b),![]);try{const _0x49ef20=readFileSync(_0x43dfbe,'utf8');if(!_0x49ef20[_0x173eee(0x225)]())return emptyServiceRegistryInspection(_0x43dfbe,'empty',!![]);const _0x44f002=JSON[_0x173eee(0x1fd)](_0x49ef20);if(_0x44f002[_0x173eee(0x221)]!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x43dfbe,_0x173eee(0x1ee),!![]),'schemaVersion':_0x44f002[_0x173eee(0x221)],'message':_0x173eee(0x214)+String(_0x44f002[_0x173eee(0x221)])};if(!Array['isArray'](_0x44f002[_0x173eee(0x1f5)]))return{...emptyServiceRegistryInspection(_0x43dfbe,'invalid',!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x44f002[_0x173eee(0x232)],'message':_0x173eee(0x20a)};const _0x200b21=_0x44f002[_0x173eee(0x1f5)][_0x173eee(0x1ed)](summarizeLocalServiceEntry);return{'registryPath':_0x43dfbe,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x44f002[_0x173eee(0x232)],'serviceCount':_0x200b21[_0x173eee(0x1fb)],'commandCount':_0x200b21[_0x173eee(0x234)]((_0xd6fac8,_0xfd19b)=>_0xd6fac8+_0xfd19b[_0x173eee(0x1f0)],0x0),'services':_0x200b21};}catch(_0x463bf0){return{...emptyServiceRegistryInspection(_0x43dfbe,_0x173eee(0x1ee),!![]),'message':_0x463bf0 instanceof Error?_0x463bf0[_0x173eee(0x220)]:String(_0x463bf0)};}}export function formatValidationFailure(_0x2a8514){const _0x26e43f=a34_0x5818dc,_0x5d198f=_0x2a8514[_0x26e43f(0x22b)][_0x26e43f(0x1ed)](_0x6e9bd9=>_0x6e9bd9[_0x26e43f(0x20f)]+':\x20'+_0x6e9bd9[_0x26e43f(0x220)]);return'Service\x20manifest\x20validation\x20failed:\x0a'+_0x5d198f[_0x26e43f(0x224)]('\x0a');}function a34_0x2c03(_0x568571,_0x1a1189){_0x568571=_0x568571-0x1e9;const _0x210b31=a34_0x210b();let _0x2c038d=_0x210b31[_0x568571];return _0x2c038d;}function extractLoadedServiceManifests(_0x49b22f,_0x181a6d){const _0xd825bd=a34_0x5818dc;if(!isServiceRegistryLike(_0x49b22f)){const _0x22881a=_0x49b22f,_0x2cc342=validateServiceTreeManifest(_0x22881a);return[{'manifest':_0x22881a,'report':_0x2cc342,'normalizedManifest':_0x2cc342['ok']?normalizeServiceTreeManifest(_0x22881a):undefined,'sourceHash':_0x181a6d}];}return _0x49b22f[_0xd825bd(0x1f5)][_0xd825bd(0x1ed)]((_0x9ee3b2,_0x42761e)=>{const _0x4bb0b8=_0xd825bd,_0x2bde4d=isObjectRecord(_0x9ee3b2)?_0x9ee3b2['manifest']:undefined,_0x1a9bd8=validateServiceTreeManifest(_0x2bde4d),_0x147901=isObjectRecord(_0x9ee3b2)&&typeof _0x9ee3b2[_0x4bb0b8(0x230)]===_0x4bb0b8(0x200)?_0x9ee3b2['serviceCode']:undefined;return{'manifest':_0x2bde4d,'report':_0x1a9bd8,'normalizedManifest':_0x1a9bd8['ok']?normalizeServiceTreeManifest(_0x2bde4d):undefined,'sourceHash':sha256(JSON[_0x4bb0b8(0x1ff)](_0x2bde4d,null,0x2)+'\x0a'),'registryIndex':_0x42761e,'registryServiceCode':_0x147901};});}function aggregateValidationReports(_0x4de5ec){const _0x343847=a34_0x5818dc,_0x2bd180=_0x4de5ec['flatMap'](_0x468069=>_0x468069['registryIndex']===undefined?_0x468069[_0x343847(0x233)][_0x343847(0x22b)]:_0x468069[_0x343847(0x233)][_0x343847(0x22b)][_0x343847(0x1ed)](_0x3a209e=>({..._0x3a209e,'path':prefixRegistryIssuePath(_0x468069[_0x343847(0x20d)],_0x3a209e[_0x343847(0x20f)])}))),_0x528e1c=_0x4de5ec[_0x343847(0x236)](_0x247c7c=>_0x247c7c[_0x343847(0x20d)]===undefined?_0x247c7c[_0x343847(0x233)][_0x343847(0x21f)]:_0x247c7c[_0x343847(0x233)]['warnings'][_0x343847(0x1ed)](_0x4baeee=>({..._0x4baeee,'path':prefixRegistryIssuePath(_0x247c7c[_0x343847(0x20d)],_0x4baeee[_0x343847(0x20f)])})));return{'ok':_0x2bd180[_0x343847(0x1fb)]===0x0,'errors':_0x2bd180,'warnings':_0x528e1c};}function prefixRegistryIssuePath(_0x2a66d4,_0x4698f4){const _0x215dc1=a34_0x5818dc;if(_0x4698f4==='$')return'$.services['+_0x2a66d4+'].manifest';if(_0x4698f4['startsWith']('$.'))return'$.services['+_0x2a66d4+_0x215dc1(0x22a)+_0x4698f4['slice'](0x1);if(_0x4698f4[_0x215dc1(0x1f1)]('$['))return _0x215dc1(0x203)+_0x2a66d4+_0x215dc1(0x22a)+_0x4698f4[_0x215dc1(0x20e)](0x1);return _0x215dc1(0x203)+_0x2a66d4+_0x215dc1(0x21a)+_0x4698f4;}function isServiceRegistryLike(_0x56c58c){const _0x2b873a=a34_0x5818dc;return isObjectRecord(_0x56c58c)&&_0x56c58c[_0x2b873a(0x221)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array['isArray'](_0x56c58c[_0x2b873a(0x1f5)]);}function isObjectRecord(_0x2b1dd7){const _0x46cbd8=a34_0x5818dc;return Boolean(_0x2b1dd7)&&typeof _0x2b1dd7==='object'&&!Array[_0x46cbd8(0x237)](_0x2b1dd7);}function emptyServiceRegistryInspection(_0x3abbfe,_0x5308c5,_0x24befd){return{'registryPath':_0x3abbfe,'exists':_0x24befd,'status':_0x5308c5,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x240e3b){const _0x383676=a34_0x5818dc,_0x126cb0=_0x240e3b['normalizedManifest'],_0x447c20=_0x126cb0['commands'][_0x383676(0x1ed)](_0x116cc7=>({'path':_0x116cc7[_0x383676(0x1f6)],'description':_0x116cc7[_0x383676(0x1f7)],'risk':_0x116cc7[_0x383676(0x208)],'targetKind':_0x116cc7[_0x383676(0x1f3)]['kind'],'targetCommand':_0x116cc7[_0x383676(0x1f3)]['command']}));return{'serviceCode':_0x240e3b[_0x383676(0x230)],'name':_0x126cb0[_0x383676(0x22d)][_0x383676(0x219)],'description':_0x126cb0[_0x383676(0x22d)][_0x383676(0x1f7)],'version':_0x240e3b[_0x383676(0x1f4)],'importedAt':_0x240e3b[_0x383676(0x218)],'source':_0x240e3b['source'],'commandCount':_0x447c20[_0x383676(0x1fb)],'commands':_0x447c20};}function sha256(_0x2f4b3b){const _0x18a81b=a34_0x5818dc;return createHash(_0x18a81b(0x212))[_0x18a81b(0x215)](_0x2f4b3b)['digest']('hex');}
@@ -1 +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));}}
1
+ const a35_0x4a821f=a35_0x530a;(function(_0xcb1b47,_0x574bff){const _0x12a82a=a35_0x530a,_0x2accbd=_0xcb1b47();while(!![]){try{const _0xf9e88=parseInt(_0x12a82a(0x96))/0x1*(-parseInt(_0x12a82a(0x91))/0x2)+parseInt(_0x12a82a(0xa1))/0x3*(parseInt(_0x12a82a(0x9e))/0x4)+-parseInt(_0x12a82a(0x99))/0x5*(-parseInt(_0x12a82a(0xab))/0x6)+parseInt(_0x12a82a(0x92))/0x7+parseInt(_0x12a82a(0x95))/0x8+parseInt(_0x12a82a(0x8b))/0x9+parseInt(_0x12a82a(0x8d))/0xa*(-parseInt(_0x12a82a(0xaa))/0xb);if(_0xf9e88===_0x574bff)break;else _0x2accbd['push'](_0x2accbd['shift']());}catch(_0x323b5d){_0x2accbd['push'](_0x2accbd['shift']());}}}(a35_0x1329,0xcda39));import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';import{dirname,resolve}from'node:path';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';function a35_0x1329(){const _0x3b81d2=['186KwOvOS','utf8','WRITE','type','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','files','force','create','Refusing\x20to\x20overwrite\x20symlink:\x20','11OLymSp','1828368byQlTh','write','bool','skill','9162864aeZLVe','Created\x20local\x20Skill\x20draft\x20','33511870CAspfz','validation','content','skillName','2922892jvzqJI','11693983BCqnEt','rendered','isSymbolicLink','10085736RruNKN','1YPPywP','path','name','25zOCjnT','str','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','map','trim','11736SNvwUS','skillDir','Skill\x20directory\x20already\x20exists:\x20'];a35_0x1329=function(){return _0x3b81d2;};return a35_0x1329();}export const createCommand={'service':a35_0x4a821f(0x8a),'command':a35_0x4a821f(0xa8),'description':'Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','risk':a35_0x4a821f(0x88),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x50dacd){const _0x2f8247=a35_0x4a821f,_0x5244c9=buildSkillCreatePlan(_0x50dacd[_0x2f8247(0x9a)](_0x2f8247(0x98)),_0x50dacd[_0x2f8247(0x9a)](_0x2f8247(0xa4)),_0x50dacd['str']('target'));return{'method':_0x2f8247(0xa3),'url':_0x5244c9['skillDir'],'body':{'skillName':_0x5244c9[_0x2f8247(0x93)][_0x2f8247(0x90)],'type':_0x5244c9['rendered'][_0x2f8247(0xa4)],'selfContained':!![],'files':_0x5244c9[_0x2f8247(0x93)][_0x2f8247(0xa6)][_0x2f8247(0x9c)](_0x1145c=>_0x1145c['path'])},'description':_0x2f8247(0x9b)};},async 'execute'(_0x32f74e){const _0x5adcdd=a35_0x4a821f,_0x4a426a=buildSkillCreatePlan(_0x32f74e[_0x5adcdd(0x9a)](_0x5adcdd(0x98)),_0x32f74e['str']('type'),_0x32f74e['str']('target'));return writeSkillDraft(_0x4a426a,_0x32f74e[_0x5adcdd(0x89)](_0x5adcdd(0xa7))),{'ok':!![],'data':{'skillName':_0x4a426a[_0x5adcdd(0x93)][_0x5adcdd(0x90)],'type':_0x4a426a['rendered'][_0x5adcdd(0xa4)],'dir':_0x4a426a['skillDir'],'files':_0x4a426a[_0x5adcdd(0x93)][_0x5adcdd(0xa6)][_0x5adcdd(0x9c)](_0x557d0f=>_0x557d0f['path'])},'message':_0x5adcdd(0x8c)+_0x4a426a[_0x5adcdd(0x93)][_0x5adcdd(0x90)]};}};function buildSkillCreatePlan(_0x3ebd99,_0x26bb30,_0x4219e8){const _0x4b8ac0=renderSkillTemplate({'skillName':_0x3ebd99,'type':_0x26bb30}),_0x1dfaf1=resolve(normalizeSkillTarget(_0x4219e8));return{'rendered':_0x4b8ac0,'targetRoot':_0x1dfaf1,'skillDir':resolve(_0x1dfaf1,_0x4b8ac0['skillName'])};}function normalizeSkillTarget(_0x7c2612){const _0x2dfdc9=a35_0x4a821f;return(_0x7c2612||DEFAULT_SKILL_TARGET)[_0x2dfdc9(0x9d)]()||DEFAULT_SKILL_TARGET;}function a35_0x530a(_0x54bb7a,_0x2fa3fb){_0x54bb7a=_0x54bb7a-0x88;const _0x132908=a35_0x1329();let _0x530ae9=_0x132908[_0x54bb7a];return _0x530ae9;}function writeSkillDraft(_0x1146a8,_0x34b2d9){const _0x44c5ee=a35_0x4a821f;if(existsSync(_0x1146a8[_0x44c5ee(0x9f)])){const _0xdd2d1b=lstatSync(_0x1146a8[_0x44c5ee(0x9f)]);if(!_0xdd2d1b['isDirectory']()||_0xdd2d1b[_0x44c5ee(0x94)]())throw CliErrors[_0x44c5ee(0x8e)]('Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20'+_0x1146a8[_0x44c5ee(0x9f)]);if(!_0x34b2d9)throw CliErrors[_0x44c5ee(0x8e)](_0x44c5ee(0xa0)+_0x1146a8['skillDir'],_0x44c5ee(0xa5));}for(const _0x447128 of _0x1146a8[_0x44c5ee(0x93)]['files']){const _0x1524b3=resolve(_0x1146a8[_0x44c5ee(0x9f)],_0x447128[_0x44c5ee(0x97)]),_0x5eadee=dirname(_0x1524b3);mkdirSync(_0x5eadee,{'recursive':!![]});if(existsSync(_0x1524b3)&&lstatSync(_0x1524b3)[_0x44c5ee(0x94)]())throw CliErrors[_0x44c5ee(0x8e)](_0x44c5ee(0xa9)+_0x1524b3);writeFileSync(_0x1524b3,_0x447128[_0x44c5ee(0x8f)],_0x44c5ee(0xa2));}}
@@ -1 +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;},{});}
1
+ const a36_0x270bc9=a36_0x3729;function a36_0x2c0d(){const _0x4b451e=['unchanged','183jUyUMk','authRequired','install','1430907mcpMCq','\x20company\x20Skill(s).','removed','personal','reduce','skipped','company','skill','27ULDETq','str','97068uvzgja','scope','Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.','map','code','updated','includes','flatMap','action','appCode','envName','version','Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','production','../../../skills/runtime-skill-sync.js','length','2905lTBHFi','../../../core/api-client.js','filter','created','Installed\x20','4830bPSlYm','push','6521396GdKtuj','1820118YCcgJT','\x20personal\x20and\x20','4358300xIAAYe','trim','10381728klSEPN'];a36_0x2c0d=function(){return _0x4b451e;};return a36_0x2c0d();}(function(_0x93004d,_0x1471d8){const _0x527769=a36_0x3729,_0xdb0d8d=_0x93004d();while(!![]){try{const _0x3441a5=parseInt(_0x527769(0x11b))/0x1+-parseInt(_0x527769(0x112))/0x2+parseInt(_0x527769(0x118))/0x3*(parseInt(_0x527769(0x125))/0x4)+-parseInt(_0x527769(0x135))/0x5*(-parseInt(_0x527769(0x10f))/0x6)+parseInt(_0x527769(0x111))/0x7+-parseInt(_0x527769(0x116))/0x8+parseInt(_0x527769(0x123))/0x9*(-parseInt(_0x527769(0x114))/0xa);if(_0x3441a5===_0x1471d8)break;else _0xdb0d8d['push'](_0xdb0d8d['shift']());}catch(_0x54478d){_0xdb0d8d['push'](_0xdb0d8d['shift']());}}}(a36_0x2c0d,0xc227e));import{CliErrors}from'../../../errors.js';import{CODE_FLAG,SCOPE_FLAG}from'../flags.js';function a36_0x3729(_0x2213c8,_0x126596){_0x2213c8=_0x2213c8-0x10f;const _0x2c0dc8=a36_0x2c0d();let _0x372913=_0x2c0dc8[_0x2213c8];return _0x372913;}import{normalizeSyncScopes}from'../scopes.js';import{summarizeRuntimeSkill}from'../summary.js';export const installCommand={'service':a36_0x270bc9(0x122),'command':a36_0x270bc9(0x11a),'description':a36_0x270bc9(0x131),'risk':'write','requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG],async 'execute'(_0x4c31f9){return syncRuntimeSkills(_0x4c31f9);}};async function syncRuntimeSkills(_0x321f49){const _0x3b1c3c=a36_0x270bc9,{downloadRuntimeSkillPackage:_0x216919,listRuntimeSkills:_0x2c8a99}=await import(_0x3b1c3c(0x136)),{linkEffectiveRuntimeSkills:_0x4cc9fe,materializeRuntimeSkill:_0x5b9626,pruneStaleRuntimeSkillCache:_0x226232,pruneStaleRuntimeSkillLinks:_0xecc42f}=await import(_0x3b1c3c(0x133)),_0x1b0387=_0x321f49[_0x3b1c3c(0x124)](_0x3b1c3c(0x129)),_0x4cc448=normalizeSyncScopes(_0x321f49['str'](_0x3b1c3c(0x126))),_0x42272c=_0x321f49[_0x3b1c3c(0x12f)]??_0x3b1c3c(0x132),_0x4b8611=_0x321f49['accessKey'];if(!_0x4b8611)throw CliErrors[_0x3b1c3c(0x119)](_0x3b1c3c(0x127));const _0x22ceeb=await Promise['all'](_0x4cc448[_0x3b1c3c(0x128)](_0x2b83c8=>_0x2c8a99({'appCode':_0x321f49[_0x3b1c3c(0x12e)],'scope':_0x2b83c8,'code':_0x1b0387[_0x3b1c3c(0x115)]()||undefined}))),_0x101bbd=_0x4cc448[_0x3b1c3c(0x12b)](_0x3b1c3c(0x11e))?_0x22ceeb['flatMap']((_0x4ba7f2,_0x17587f)=>_0x4cc448[_0x17587f]===_0x3b1c3c(0x11e)?_0x4ba7f2[_0x3b1c3c(0x11e)]:[]):[],_0x251514=_0x4cc448['includes'](_0x3b1c3c(0x121))?_0x22ceeb[_0x3b1c3c(0x12c)]((_0x3c8b17,_0x32c737)=>_0x4cc448[_0x32c737]===_0x3b1c3c(0x121)?_0x3c8b17[_0x3b1c3c(0x121)]:[]):[],_0x39bc7f=new Set([..._0x101bbd['map'](_0x58de6e=>_0x58de6e['skillCode']?.['trim']())[_0x3b1c3c(0x137)](_0x28612=>Boolean(_0x28612)),..._0x251514['map'](_0x1e73b8=>_0x1e73b8['skillCode']?.['trim']())['filter'](_0x687ce1=>Boolean(_0x687ce1))]),_0xd1f609=_0x1b0387[_0x3b1c3c(0x115)]()?[_0x1b0387[_0x3b1c3c(0x115)]()]:undefined,_0x479636=_0x4cc448[_0x3b1c3c(0x134)]===0x2&&_0x4cc448[_0x3b1c3c(0x12b)]('personal')&&_0x4cc448[_0x3b1c3c(0x12b)](_0x3b1c3c(0x121)),_0x33aa2b=_0x479636?_0xecc42f(_0x321f49[_0x3b1c3c(0x12e)],_0x39bc7f,{},_0xd1f609):[],_0x1cd428=_0x226232({'env':_0x42272c,'accessKey':_0x4b8611,'appCode':_0x321f49['appCode'],'activeSkillCodes':_0x39bc7f,'pruneSkillCodes':_0xd1f609,'scopes':_0x4cc448}),_0xd7721c=[];for(const _0x4ac736 of _0x101bbd){_0xd7721c[_0x3b1c3c(0x110)](_0x5b9626(_0x4ac736,_0x3b1c3c(0x11e),{'env':_0x42272c,'accessKey':_0x4b8611,'appCode':_0x321f49[_0x3b1c3c(0x12e)],'packageBytes':await downloadSkillPackage(_0x4ac736,_0x3b1c3c(0x11e),_0x321f49[_0x3b1c3c(0x12e)],_0x216919)}));}for(const _0x1625af of _0x251514){_0xd7721c[_0x3b1c3c(0x110)](_0x5b9626(_0x1625af,_0x3b1c3c(0x121),{'env':_0x42272c,'accessKey':_0x4b8611,'appCode':_0x321f49['appCode'],'packageBytes':await downloadSkillPackage(_0x1625af,_0x3b1c3c(0x121),_0x321f49[_0x3b1c3c(0x12e)],_0x216919)}));}const _0x2b161b=_0x4cc9fe(_0xd7721c,_0x321f49[_0x3b1c3c(0x12e)]),_0x587c85=countLinkActions(_0x2b161b);return{'ok':!![],'data':{'appCode':_0x321f49[_0x3b1c3c(0x12e)],'personal':_0x101bbd[_0x3b1c3c(0x134)],'company':_0x251514[_0x3b1c3c(0x134)],'materialized':_0xd7721c[_0x3b1c3c(0x134)],'links':{'total':_0x2b161b[_0x3b1c3c(0x134)],'created':_0x587c85[_0x3b1c3c(0x138)]??0x0,'updated':_0x587c85[_0x3b1c3c(0x12a)]??0x0,'unchanged':_0x587c85[_0x3b1c3c(0x117)]??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x33aa2b[_0x3b1c3c(0x137)](_0x1a8333=>_0x1a8333[_0x3b1c3c(0x12d)]===_0x3b1c3c(0x11d))['length'],'cacheDirs':_0x1cd428[_0x3b1c3c(0x137)](_0x3a7d2c=>_0x3a7d2c[_0x3b1c3c(0x12d)]===_0x3b1c3c(0x11d))['length'],'skipped':[..._0x33aa2b,..._0x1cd428]['filter'](_0x441b00=>_0x441b00[_0x3b1c3c(0x12d)]===_0x3b1c3c(0x120))[_0x3b1c3c(0x134)]},'skills':{'personal':_0x101bbd[_0x3b1c3c(0x128)](summarizeRuntimeSkill),'company':_0x251514[_0x3b1c3c(0x128)](summarizeRuntimeSkill)}},'message':_0x3b1c3c(0x139)+_0x101bbd['length']+_0x3b1c3c(0x113)+_0x251514['length']+_0x3b1c3c(0x11c)};}async function downloadSkillPackage(_0x49c0cf,_0x3ad53f,_0x111a3b,_0x3bfc0b){const _0x2a1c7f=a36_0x270bc9,_0x56173f=_0x49c0cf[_0x2a1c7f(0x130)]?.[_0x2a1c7f(0x115)]();return _0x56173f?_0x3bfc0b(_0x3ad53f,_0x49c0cf['skillCode'],_0x111a3b,_0x56173f):_0x3bfc0b(_0x3ad53f,_0x49c0cf['skillCode'],_0x111a3b);}function countLinkActions(_0x227494){const _0x146d22=a36_0x270bc9;return _0x227494[_0x146d22(0x11f)]((_0x1dd23c,_0x5af6cb)=>{const _0x394cb5=_0x146d22;return _0x1dd23c[_0x5af6cb[_0x394cb5(0x12d)]]=(_0x1dd23c[_0x5af6cb['action']]??0x0)+0x1,_0x1dd23c;},{});}
@@ -1 +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')};}
1
+ const a37_0x33c226=a37_0x4e16;(function(_0x4136a8,_0x30da25){const _0x241f67=a37_0x4e16,_0x1e8ec7=_0x4136a8();while(!![]){try{const _0x32a5a5=parseInt(_0x241f67(0x7f))/0x1*(parseInt(_0x241f67(0x82))/0x2)+-parseInt(_0x241f67(0x8b))/0x3*(-parseInt(_0x241f67(0x8e))/0x4)+parseInt(_0x241f67(0x95))/0x5*(-parseInt(_0x241f67(0x8f))/0x6)+parseInt(_0x241f67(0x85))/0x7*(-parseInt(_0x241f67(0x9a))/0x8)+parseInt(_0x241f67(0x7d))/0x9*(-parseInt(_0x241f67(0x91))/0xa)+-parseInt(_0x241f67(0x8a))/0xb*(-parseInt(_0x241f67(0x8d))/0xc)+-parseInt(_0x241f67(0x90))/0xd;if(_0x32a5a5===_0x30da25)break;else _0x1e8ec7['push'](_0x1e8ec7['shift']());}catch(_0x5487bf){_0x1e8ec7['push'](_0x1e8ec7['shift']());}}}(a37_0x1e33,0xe3871));import{CliErrors}from'../../../errors.js';import{CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG}from'../flags.js';function a37_0x1e33(){const _0x156a87=['trim','skill','personal','read','540REvBFP','../../../core/api-client.js','567011ZLvkbO','accessKey','list','4loPSdm','Listed\x20','bool','5138jUTyLJ','map','length','filter','scope','9565908BdeGAv','4242771QiiEYs','../../../skills/runtime-skill-sync.js','12KzgmdR','4JJSOMI','7812wYIhXW','24514074tzcbsn','24110uRUnII','str','remote','company','95mVmuvF','\x20local\x20Skill(s).','code','envName','builtin','4696cSusFX','local','appCode'];a37_0x1e33=function(){return _0x156a87;};return a37_0x1e33();}import{listScopeToRemoteScope,listScopeToRuntimeScopes,normalizeListScope,shouldListScope}from'../scopes.js';function a37_0x4e16(_0x2342b3,_0x3105c8){_0x2342b3=_0x2342b3-0x7b;const _0x1e337e=a37_0x1e33();let _0x4e16a0=_0x1e337e[_0x2342b3];return _0x4e16a0;}import{summarizeLocalRuntimeSkill,summarizeRuntimeSkill}from'../summary.js';export const listCommand={'service':a37_0x33c226(0x9e),'command':a37_0x33c226(0x81),'description':'List\x20runtime\x20Skills\x20from\x20remote\x20or\x20CLI-managed\x20local\x20cache','risk':a37_0x33c226(0x7c),'flags':[CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG],async 'execute'(_0x15d8fd){const _0x23291c=a37_0x33c226,_0x319c01=_0x15d8fd[_0x23291c(0x92)](_0x23291c(0x97)),_0x81a30b=normalizeListScope(_0x15d8fd[_0x23291c(0x92)](_0x23291c(0x89)));if(_0x15d8fd[_0x23291c(0x84)](_0x23291c(0x9b))){const _0x343fed=_0x15d8fd[_0x23291c(0x80)];if(!_0x343fed)throw CliErrors['authRequired']();const {listLocalRuntimeSkills:_0xaa3748}=await import(_0x23291c(0x8c)),_0x16a97c=_0xaa3748({'env':_0x15d8fd[_0x23291c(0x98)]??'production','accessKey':_0x343fed,'appCode':_0x15d8fd[_0x23291c(0x9c)],'scopes':listScopeToRuntimeScopes(_0x81a30b),'code':_0x319c01[_0x23291c(0x9d)]()||undefined}),_0x57acf1=groupLocalRuntimeSkills(_0x16a97c);return{'ok':!![],'data':{'appCode':_0x15d8fd['appCode'],'source':_0x23291c(0x9b),'scope':_0x81a30b,'total':_0x16a97c[_0x23291c(0x87)],'personal':_0x57acf1[_0x23291c(0x7b)][_0x23291c(0x87)],'company':_0x57acf1['company'][_0x23291c(0x87)],'items':_0x16a97c[_0x23291c(0x86)](summarizeLocalRuntimeSkill),'skills':{'personal':_0x57acf1['personal'][_0x23291c(0x86)](summarizeLocalRuntimeSkill),'company':_0x57acf1['company'][_0x23291c(0x86)](summarizeLocalRuntimeSkill)}},'message':_0x23291c(0x83)+_0x16a97c[_0x23291c(0x87)]+_0x23291c(0x96)};}const {listRuntimeSkills:_0x36f857}=await import(_0x23291c(0x7e)),_0x3bf88c=await _0x36f857({'appCode':_0x15d8fd[_0x23291c(0x9c)],'scope':listScopeToRemoteScope(_0x81a30b),'code':_0x319c01[_0x23291c(0x9d)]()||undefined}),_0x1bcb08=shouldListScope(_0x81a30b,'personal')?_0x3bf88c[_0x23291c(0x7b)]??[]:[],_0x47a068=shouldListScope(_0x81a30b,_0x23291c(0x94))?_0x3bf88c[_0x23291c(0x94)]??[]:[],_0x26a113=[..._0x1bcb08,..._0x47a068];return{'ok':!![],'data':{'appCode':_0x15d8fd['appCode'],'source':_0x23291c(0x93),'scope':_0x81a30b,'total':_0x26a113[_0x23291c(0x87)],'personal':_0x1bcb08[_0x23291c(0x87)],'company':_0x47a068[_0x23291c(0x87)],'items':_0x26a113[_0x23291c(0x86)](summarizeRuntimeSkill),'skills':{'personal':_0x1bcb08[_0x23291c(0x86)](summarizeRuntimeSkill),'company':_0x47a068['map'](summarizeRuntimeSkill)}},'message':_0x23291c(0x83)+_0x26a113[_0x23291c(0x87)]+'\x20remote\x20Skill(s).'};}};function groupLocalRuntimeSkills(_0x43e407){const _0x56af2f=a37_0x33c226;return{'personal':_0x43e407[_0x56af2f(0x88)](_0x489335=>_0x489335[_0x56af2f(0x89)]===_0x56af2f(0x7b)),'company':_0x43e407[_0x56af2f(0x88)](_0xc61b83=>_0xc61b83[_0x56af2f(0x89)]==='company'),'builtin':_0x43e407[_0x56af2f(0x88)](_0x366010=>_0x366010[_0x56af2f(0x89)]===_0x56af2f(0x99))};}
@@ -1 +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']};}};
1
+ const a38_0x21f256=a38_0x2f07;(function(_0x435a1a,_0x26e1e9){const _0x280cfc=a38_0x2f07,_0x3e5c04=_0x435a1a();while(!![]){try{const _0x34b9da=parseInt(_0x280cfc(0x1b5))/0x1*(parseInt(_0x280cfc(0x1c4))/0x2)+-parseInt(_0x280cfc(0x1c8))/0x3*(parseInt(_0x280cfc(0x1bc))/0x4)+parseInt(_0x280cfc(0x1b9))/0x5+parseInt(_0x280cfc(0x1b8))/0x6+parseInt(_0x280cfc(0x1b6))/0x7+-parseInt(_0x280cfc(0x1c7))/0x8*(parseInt(_0x280cfc(0x1c2))/0x9)+parseInt(_0x280cfc(0x1c6))/0xa;if(_0x34b9da===_0x26e1e9)break;else _0x3e5c04['push'](_0x3e5c04['shift']());}catch(_0x5e2093){_0x3e5c04['push'](_0x3e5c04['shift']());}}}(a38_0x9899,0x28a16));import{CliErrors}from'../../../errors.js';function a38_0x9899(){const _0x867ea=['659428JLKbNd','accessKey','dir','Push\x20a\x20local\x20Skill\x20directory\x20to\x20personal\x20runtime\x20Skill\x20scope','skillCode','personal','711eYuBrQ','Created\x20personal\x20Skill\x20','146658WmwmpD','files','6021200HcnGxw','28744QrbucA','6kvyoLf','authRequired','input','appCode','../../../skills/runtime-skill-sync.js','../../../core/api-client.js','1HTudKt','131670Jpibnd','write','500220IHZIOc','11770HooBAy','str','push'];a38_0x9899=function(){return _0x867ea;};return a38_0x9899();}function a38_0x2f07(_0x422c51,_0x3a4568){_0x422c51=_0x422c51-0x1b3;const _0x989955=a38_0x9899();let _0x2f0792=_0x989955[_0x422c51];return _0x2f0792;}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':'skill','command':a38_0x21f256(0x1bb),'description':a38_0x21f256(0x1bf),'risk':a38_0x21f256(0x1b7),'flags':[DIR_FLAG],async 'execute'(_0x671a51){const _0xd0d554=a38_0x21f256,{createPersonalRuntimeSkill:_0x441bdf,downloadRuntimeSkillPackage:_0x3c0b8d,listRuntimeSkills:_0x499872,updatePersonalRuntimeSkill:_0x1dabfc}=await import(_0xd0d554(0x1b4)),{verifyRuntimeSkillPackage:_0x175fa8,verifyRuntimeSkillBundle:_0x34a498,readPushDirectory:_0x539e43,recordPushedRuntimeSkill:_0x4c36e9}=await import(_0xd0d554(0x1b3));if(!_0x671a51[_0xd0d554(0x1bd)])throw CliErrors[_0xd0d554(0x1c9)]();const _0x4d67f3=_0x671a51[_0xd0d554(0x1ba)](_0xd0d554(0x1be)),_0x2d6c9e=validateSkillDirectory(_0x4d67f3);throwIfSkillValidationFailed(_0x2d6c9e);const _0x5cad53=_0x2d6c9e[_0xd0d554(0x1be)],_0x2c81af=_0x539e43(_0x5cad53,_0x671a51[_0xd0d554(0x1cb)]),_0x548d29=(await _0x499872({'appCode':_0x671a51[_0xd0d554(0x1cb)],'scope':_0xd0d554(0x1c1)}))[_0xd0d554(0x1c1)]['find'](_0x5d33ca=>_0x5d33ca[_0xd0d554(0x1c0)]===_0x2c81af[_0xd0d554(0x1c0)]),_0x66f1de=_0x548d29?await _0x1dabfc(_0x2c81af['skillCode'],_0x671a51[_0xd0d554(0x1cb)],_0x2c81af['input']):await _0x441bdf(_0x671a51[_0xd0d554(0x1cb)],_0x2c81af[_0xd0d554(0x1ca)]);let _0x3d13cf=_0x66f1de;if(isMultiFileManifest(_0x2c81af[_0xd0d554(0x1ca)][_0xd0d554(0x1c5)])){const _0x149dc9=await _0x3c0b8d('personal',_0x66f1de[_0xd0d554(0x1c0)]||_0x2c81af[_0xd0d554(0x1c0)],_0x671a51['appCode']);_0x34a498(_0x2c81af[_0xd0d554(0x1ca)][_0xd0d554(0x1c5)],_0x149dc9),_0x3d13cf={..._0x66f1de,'files':_0x2c81af[_0xd0d554(0x1ca)][_0xd0d554(0x1c5)]};}else{if(isPackageBackedManifest(_0x66f1de[_0xd0d554(0x1c5)])){const _0x508ef2=await _0x3c0b8d(_0xd0d554(0x1c1),_0x66f1de[_0xd0d554(0x1c0)]||_0x2c81af[_0xd0d554(0x1c0)],_0x671a51[_0xd0d554(0x1cb)]);_0x175fa8(_0x66f1de['files'],_0x508ef2);}}return _0x4c36e9(_0x5cad53,_0x3d13cf,_0x671a51[_0xd0d554(0x1cb)]),{'ok':!![],'data':summarizeRuntimeSkill(_0x66f1de),'message':_0x548d29?'Updated\x20personal\x20Skill\x20'+_0x2c81af[_0xd0d554(0x1c0)]:_0xd0d554(0x1c3)+_0x2c81af[_0xd0d554(0x1c0)]};}};
@@ -1 +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)};}};
1
+ const a39_0xc4866b=a39_0x5ea5;(function(_0x3bbb90,_0x3f5997){const _0x2f84a5=a39_0x5ea5,_0x5216b0=_0x3bbb90();while(!![]){try{const _0x4f1c27=parseInt(_0x2f84a5(0xb3))/0x1*(parseInt(_0x2f84a5(0xa8))/0x2)+parseInt(_0x2f84a5(0xb0))/0x3*(-parseInt(_0x2f84a5(0xaf))/0x4)+parseInt(_0x2f84a5(0xb4))/0x5*(parseInt(_0x2f84a5(0xb6))/0x6)+parseInt(_0x2f84a5(0xb1))/0x7+-parseInt(_0x2f84a5(0xb2))/0x8*(-parseInt(_0x2f84a5(0xaa))/0x9)+-parseInt(_0x2f84a5(0xac))/0xa+parseInt(_0x2f84a5(0xa6))/0xb;if(_0x4f1c27===_0x3f5997)break;else _0x5216b0['push'](_0x5216b0['shift']());}catch(_0x1bfb74){_0x5216b0['push'](_0x5216b0['shift']());}}}(a39_0x251c,0x652d9));import{DIR_FLAG,STRICT_FLAG}from'../flags.js';import{throwIfSkillValidationFailed,validateSkillDirectory}from'../validate.js';function a39_0x5ea5(_0x4d2c14,_0x38833d){_0x4d2c14=_0x4d2c14-0xa3;const _0x251c39=a39_0x251c();let _0x5ea56a=_0x251c39[_0x4d2c14];return _0x5ea56a;}function a39_0x251c(){const _0x186ada=['skill','57108ovmSZt','strict','bool','dir','str','1301388bmAJUb','type','1472KiyTGI','read','106146WrsKQD','warnings','6064010jRMJgt','errors','Validate\x20a\x20local\x20Skill\x20directory\x20as\x20a\x20self-contained\x20delivery\x20package','1252SFYCkm','3507cRlPFz','774193twoiUn','248suZeoC','3UjXuKx','415MaJKyO'];a39_0x251c=function(){return _0x186ada;};return a39_0x251c();}export const validateCommand={'service':a39_0xc4866b(0xb5),'command':'validate','description':a39_0xc4866b(0xae),'risk':a39_0xc4866b(0xa9),'requiresAuth':![],'requiresAppCode':![],'flags':[DIR_FLAG,STRICT_FLAG],async 'execute'(_0xe9394b){const _0x2cb5a3=a39_0xc4866b,_0x1e9563=_0xe9394b[_0x2cb5a3(0xa3)](_0x2cb5a3(0xb7)),_0x588c64=validateSkillDirectory(_0xe9394b[_0x2cb5a3(0xa5)](_0x2cb5a3(0xa4)),{'strict':_0x1e9563});return throwIfSkillValidationFailed(_0x588c64,_0x1e9563),{'ok':!![],'data':{'dir':_0x588c64['dir'],'type':_0x588c64[_0x2cb5a3(0xa7)],'errors':_0x588c64[_0x2cb5a3(0xad)],'warnings':_0x588c64[_0x2cb5a3(0xab)]},'message':'Skill\x20validation\x20passed.'};}};